Class: Webspicy::Tester::Fakeses::Email
- Inherits:
-
Object
- Object
- Webspicy::Tester::Fakeses::Email
- Defined in:
- lib/webspicy/tester/fakeses/email.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
Instance Method Summary collapse
- #bcc ⇒ Object
- #cc ⇒ Object
- #email ⇒ Object
- #from ⇒ Object
- #headers ⇒ Object
-
#initialize(data) ⇒ Email
constructor
A new instance of Email.
- #raw_data ⇒ Object
- #recipients ⇒ Object
- #subject ⇒ Object
- #to ⇒ Object
Constructor Details
#initialize(data) ⇒ Email
Returns a new instance of Email.
8 9 10 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 8 def initialize(data) @data = data end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
11 12 13 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 11 def data @data end |
Instance Method Details
#bcc ⇒ Object
38 39 40 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 38 def bcc recipients - cc - to end |
#cc ⇒ Object
34 35 36 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 34 def cc email.cc || [] end |
#email ⇒ Object
49 50 51 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 49 def email @email ||= Mail.read_from_string(raw_data) end |
#from ⇒ Object
13 14 15 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 13 def from email.from[0] end |
#headers ⇒ Object
42 43 44 45 46 47 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 42 def headers @headers ||= email.header.reduce(OpenStruct.new){|acc, h| acc[h.name.downcase] = h.unparsed_value acc } end |
#raw_data ⇒ Object
53 54 55 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 53 def raw_data @raw_data ||= Base64.decode64(data["body"]["RawMessage.Data"]) end |
#recipients ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 17 def recipients data["body"] .each_pair .select{|(k,v)| k =~ /Destinations.member/ } .map{|(k,v)| v.strip } end |
#subject ⇒ Object
30 31 32 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 30 def subject email.subject end |
#to ⇒ Object
26 27 28 |
# File 'lib/webspicy/tester/fakeses/email.rb', line 26 def to email.to || [] end |