Class: Webspicy::Tester::Fakeses::Email

Inherits:
Object
  • Object
show all
Defined in:
lib/webspicy/tester/fakeses/email.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Email

Returns a new instance of Email.



6
7
8
# File 'lib/webspicy/tester/fakeses/email.rb', line 6

def initialize(data)
  @data = data
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



9
10
11
# File 'lib/webspicy/tester/fakeses/email.rb', line 9

def data
  @data
end

Instance Method Details

#fromObject



11
12
13
# File 'lib/webspicy/tester/fakeses/email.rb', line 11

def from
  data["body"]["Source"]
end

#raw_dataObject



31
32
33
# File 'lib/webspicy/tester/fakeses/email.rb', line 31

def raw_data
  @raw_data ||= Base64.decode64(data["body"]["RawMessage.Data"])
end

#subjectObject



24
25
26
27
28
29
# File 'lib/webspicy/tester/fakeses/email.rb', line 24

def subject
  rx = /^Subject:\s*(.*)$/
  raw_data
    .each_line
    .find{|l| l =~ rx }[rx, 1]
end

#toObject



15
16
17
18
19
20
21
22
# File 'lib/webspicy/tester/fakeses/email.rb', line 15

def to
  data["body"]
    .each_pair
    .select{|(k,v)|
      k =~ /Destinations.member/
    }
    .map{|(k,v)| v }
end