Class: SpecViews::MailMessageExtractor
- Inherits:
-
Object
- Object
- SpecViews::MailMessageExtractor
- Defined in:
- app/models/spec_views/mail_message_extractor.rb
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
Returns the value of attribute body.
-
#failure_message ⇒ Object
readonly
Returns the value of attribute failure_message.
-
#mail ⇒ Object
readonly
Returns the value of attribute mail.
Instance Method Summary collapse
- #extract_body(part) ⇒ Object
- #extractor_failure? ⇒ Boolean
-
#initialize(mail, expected_status:) ⇒ MailMessageExtractor
constructor
A new instance of MailMessageExtractor.
Constructor Details
#initialize(mail, expected_status:) ⇒ MailMessageExtractor
Returns a new instance of MailMessageExtractor.
7 8 9 10 11 12 13 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 7 def initialize(mail, expected_status:) @mail = mail @body = extract_body(mail) return if body.present? @failure_message = 'Failed to find mail part' end |
Instance Attribute Details
#body ⇒ Object (readonly)
Returns the value of attribute body.
5 6 7 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 5 def body @body end |
#failure_message ⇒ Object (readonly)
Returns the value of attribute failure_message.
5 6 7 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 5 def @failure_message end |
#mail ⇒ Object (readonly)
Returns the value of attribute mail.
5 6 7 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 5 def mail @mail end |
Instance Method Details
#extract_body(part) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 19 def extract_body(part) return part.raw_source if part.respond_to?(:raw_source) && part.raw_source.present? return extract_body(part.body) if part.respond_to?(:body) return part if part.is_a?(String) return if !part.respond_to?(:parts) && nil part.parts.map do |inner_part| extract_body(inner_part) end.compact.first end |
#extractor_failure? ⇒ Boolean
15 16 17 |
# File 'app/models/spec_views/mail_message_extractor.rb', line 15 def extractor_failure? .present? end |