class Utracker::Message

Attributes

content[R]
parent_uuid[R]
uuid[R]

Public Class Methods

new(uuid:, content:, parent_uuid: nil) click to toggle source
# File lib/utracker/message.rb, line 27
def initialize(uuid:, content:, parent_uuid: nil)
  @uuid = uuid
  @content = content
  @parent_uuid = parent_uuid
end
pack(payload, parent_uuid: nil) click to toggle source
# File lib/utracker/message.rb, line 10
def pack(payload, parent_uuid: nil)
  new(uuid: SecureRandom.uuid, content: payload, parent_uuid: parent_uuid)
end
unpack(serialized_message) click to toggle source
# File lib/utracker/message.rb, line 14
def unpack(serialized_message)
  hash = MultiJson.load(serialized_message)
  new(uuid: hash['uuid'],
      content: hash['content'],
      parent_uuid: hash['parent_uuid'])
end

Public Instance Methods

log(event, options={}) click to toggle source
# File lib/utracker/message.rb, line 33
def log(event, options={})
  Utracker.logger.log(self, event, options)
end
pack(payload) click to toggle source
# File lib/utracker/message.rb, line 37
def pack(payload)
  self.class.pack(payload, parent_uuid: @uuid)
end
to_json() click to toggle source
# File lib/utracker/message.rb, line 41
def to_json
  MultiJson.dump({
    'uuid' => @uuid,
    'parent_uuid' => @parent_uuid,
    'content' => @content,
  })
end