Class: MailHogwarts::Message

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/mailhogwarts/message/body.rb,
lib/mailhogwarts/message/message.rb

Defined Under Namespace

Classes: Body

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fields) ⇒ Message

Returns a new instance of Message.



8
9
10
11
12
13
14
15
16
17
# File 'lib/mailhogwarts/message/message.rb', line 8

def initialize(fields)
  @message = fields
  @message[:body] = Body.new(@message[:body])

  @message.keys.each do |key|
    define_singleton_method(key.to_s) do
      @message[key]
    end
  end
end

Instance Attribute Details

#messageObject (readonly)

Returns the value of attribute message.



6
7
8
# File 'lib/mailhogwarts/message/message.rb', line 6

def message
  @message
end

Instance Method Details

#<=>(other) ⇒ Object



25
26
27
# File 'lib/mailhogwarts/message/message.rb', line 25

def <=>(other)
  created_at.to_i <=> other.created_at.to_i
end

#keysObject Also known as: fields



19
20
21
# File 'lib/mailhogwarts/message/message.rb', line 19

def keys
  @message.keys
end