class Synapse::MessageBuilder

Builder that is used to easily create and populate messages

Attributes

id[RW]

@return [String]

metadata[RW]

@return [Hash]

payload[RW]

@return [Object]

timestamp[RW]

@return [Time]

Public Class Methods

build() { |builder| ... } click to toggle source

Convenience method that yields a new builder, populates defaults and returns the newly built message instance

@yield [MessageBuilder] @return [Message]

# File lib/synapse/common/message_builder.rb, line 21
def self.build
  builder = self.new

  yield builder if block_given?

  builder.populate_defaults
  builder.build
end

Public Instance Methods

build() click to toggle source

@return [Message]

# File lib/synapse/common/message_builder.rb, line 31
def build
  Message.new @id, @metadata, @payload, @timestamp
end
populate_defaults() click to toggle source

@return [undefined]

# File lib/synapse/common/message_builder.rb, line 36
def populate_defaults
  @id ||= IdentifierFactory.instance.generate
  @metadata ||= Hash.new
  @timestamp ||= Time.now
end