class Mimi::Messaging::Message

A Message is a Hash and additional headers structure.

Attributes

headers[R]

Public Class Methods

new(message_or_hash, headers = nil) click to toggle source

Creates a Message out of Hash or another Message.

@param message_or_hash [Hash,Message] @param headers [Hash,nil] additional headers to attach to the message

# File lib/mimi/messaging/message.rb, line 16
def initialize(message_or_hash, headers = nil)
  unless message_or_hash.is_a?(Hash) # or a Message
    raise ArgumentError, "Message or Hash is expected as argument"
  end

  # copy attributes
  message_or_hash.each { |k, v| self[k] = v.dup }

  # copy headers
  headers ||= {}
  if message_or_hash.is_a?(Mimi::Messaging::Message)
    @headers = message_or_hash.headers.merge(headers)
  else
    @headers = headers
  end
end