Class: Email
- Inherits:
-
Object
- Object
- Includes:
- RSpec::Matchers
- Defined in:
- lib/howitzer/utils/email/email.rb
Instance Attribute Summary collapse
-
#recipient_address ⇒ Object
readonly
Returns the value of attribute recipient_address.
Class Method Summary collapse
-
.find(recipient, subject) ⇒ Object
Search mail by recepient and subject.
-
.find_by_recipient(recipient) ⇒ Object
Search mail by recepient.
Instance Method Summary collapse
-
#initialize(message) ⇒ Email
constructor
Creates new email with message.
-
#plain_text_body ⇒ Object
Returns plain text body of email message.
Constructor Details
#initialize(message) ⇒ Email
Creates new email with message
Parameters:
-
message
- email message
16 17 18 19 20 |
# File 'lib/howitzer/utils/email/email.rb', line 16 def initialize() expect(.subject).to include(self.class::SUBJECT) @recipient_address = ::Mail::Address.new(.to.first) @message = end |
Instance Attribute Details
#recipient_address ⇒ Object (readonly)
Returns the value of attribute recipient_address.
6 7 8 |
# File 'lib/howitzer/utils/email/email.rb', line 6 def recipient_address @recipient_address end |
Class Method Details
.find(recipient, subject) ⇒ Object
Search mail by recepient and subject.
Parameters:
-
recepient
- recepient’s email address -
subject
- email subject
43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/howitzer/utils/email/email.rb', line 43 def self.find(recipient, subject) = MailClient.by_email(recipient).find_mail do |mail| /#{Regexp.escape(subject)}/ === mail.subject && mail.to == [recipient] end if .first.nil? log.error "#{self} was not found (recipient: '#{recipient}')" return # TODO check log.error raises error end new(.first) end |
.find_by_recipient(recipient) ⇒ Object
Search mail by recepient
Parameters:
-
recepient
- recepient’s email address
30 31 32 |
# File 'lib/howitzer/utils/email/email.rb', line 30 def self.find_by_recipient(recipient) find(recipient, self::SUBJECT) end |
Instance Method Details
#plain_text_body ⇒ Object
Returns plain text body of email message
60 61 62 |
# File 'lib/howitzer/utils/email/email.rb', line 60 def plain_text_body get_mime_part(@message, 'text/plain').to_s end |