Class: Mimi::Messaging::Message

Inherits:
Hash
  • Object
show all
Defined in:
lib/mimi/messaging/message.rb

Overview

A Message is a Hash and additional headers structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message_or_hash, headers = nil) ⇒ Message

Creates a Message out of Hash or another Message.

Parameters:

  • message_or_hash (Hash, Message)
  • headers (Hash, nil) (defaults to: nil)

    additional headers to attach to the message



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 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

Instance Attribute Details

#headersObject (readonly)

Returns the value of attribute headers.



9
10
11
# File 'lib/mimi/messaging/message.rb', line 9

def headers
  @headers
end