Class: Howitzer::MailAdapters::Testmail
- Defined in:
- lib/howitzer/mail_adapters/testmail.rb
Overview
This class represents testmail.app mail adapter
Instance Attribute Summary
Attributes inherited from Abstract
Class Method Summary collapse
-
.find(recipient, subject, wait:) ⇒ Object
Finds an email in storage.
Instance Method Summary collapse
-
#html_body ⇒ String
Html body of the email message.
-
#mail_from ⇒ String
An email address specified in ‘From` field.
-
#mime_part ⇒ Array
Attachments.
-
#mime_part! ⇒ Array
Attachments.
-
#plain_text_body ⇒ String
Plain text body of the email message.
-
#received_time ⇒ String
When email was received.
-
#recipients ⇒ String
Recipient emails separated with ‘, `.
-
#sender_email ⇒ String
A real sender email address.
-
#text ⇒ String
Stripped text.
Methods inherited from Abstract
Constructor Details
This class inherits a constructor from Howitzer::MailAdapters::Abstract
Class Method Details
.find(recipient, subject, wait:) ⇒ Object
Finds an email in storage
15 16 17 18 19 20 21 22 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 15 def self.find(recipient, subject, wait:) = {} retryable(find_retry_params(wait)) { = (recipient, subject) } return new() if .present? raise Howitzer::EmailNotFoundError, "Message with subject '#{subject}' for recipient '#{recipient}' was not found." end |
Instance Method Details
#html_body ⇒ String
Returns html body of the email message.
32 33 34 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 32 def html_body ['html'] end |
#mail_from ⇒ String
Returns an email address specified in ‘From` field.
44 45 46 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 44 def mail_from ['from'] end |
#mime_part ⇒ Array
Returns attachments.
68 69 70 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 68 def mime_part ['attachments'] end |
#mime_part! ⇒ Array
Returns attachments.
75 76 77 78 79 80 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 75 def mime_part! files = mime_part return files if files.present? raise Howitzer::NoAttachmentsError, 'No attachments were found.' end |
#plain_text_body ⇒ String
Returns plain text body of the email message.
26 27 28 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 26 def plain_text_body ['text'] end |
#received_time ⇒ String
Returns when email was received.
56 57 58 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 56 def received_time Time.parse(['timestamp']).to_s end |
#recipients ⇒ String
Returns recipient emails separated with ‘, `.
50 51 52 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 50 def recipients ['to'].split ', ' end |
#sender_email ⇒ String
Returns a real sender email address.
62 63 64 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 62 def sender_email ['from'] end |
#text ⇒ String
Returns stripped text.
38 39 40 |
# File 'lib/howitzer/mail_adapters/testmail.rb', line 38 def text ['text'] end |