Class: EmailSpec::Matchers::IncludeEmailWithSubject
- Inherits:
-
Object
- Object
- EmailSpec::Matchers::IncludeEmailWithSubject
- Defined in:
- lib/email_spec/matchers.rb
Instance Method Summary collapse
- #description ⇒ Object
- #failure_message ⇒ Object
- #failure_message_when_negated ⇒ Object (also: #negative_failure_message)
-
#initialize(subject) ⇒ IncludeEmailWithSubject
constructor
A new instance of IncludeEmailWithSubject.
- #matches?(emails) ⇒ Boolean
Constructor Details
#initialize(subject) ⇒ IncludeEmailWithSubject
Returns a new instance of IncludeEmailWithSubject.
232 233 234 |
# File 'lib/email_spec/matchers.rb', line 232 def initialize(subject) @expected_subject = subject end |
Instance Method Details
#description ⇒ Object
236 237 238 239 240 241 242 |
# File 'lib/email_spec/matchers.rb', line 236 def description if @expected_subject.is_a?(String) "include email with subject of #{@expected_subject.inspect}" else "include email with subject matching #{@expected_subject.inspect}" end end |
#failure_message ⇒ Object
253 254 255 256 257 258 259 |
# File 'lib/email_spec/matchers.rb', line 253 def if @expected_subject.is_a?(String) "expected at least one email to have the subject #{@expected_subject.inspect} but none did. Subjects were #{@given_emails.map(&:subject).inspect}" else "expected at least one email to have a subject matching #{@expected_subject.inspect}, but none did. Subjects were #{@given_emails.map(&:subject).inspect}" end end |
#failure_message_when_negated ⇒ Object Also known as: negative_failure_message
261 262 263 264 265 266 267 |
# File 'lib/email_spec/matchers.rb', line 261 def if @expected_subject.is_a?(String) "expected no email with the subject #{@expected_subject.inspect} but found at least one. Subjects were #{@given_emails.map(&:subject).inspect}" else "expected no email to have a subject matching #{@expected_subject.inspect} but found at least one. Subjects were #{@given_emails.map(&:subject).inspect}" end end |
#matches?(emails) ⇒ Boolean
244 245 246 247 248 249 250 251 |
# File 'lib/email_spec/matchers.rb', line 244 def matches?(emails) @given_emails = emails if @expected_subject.is_a?(String) @given_emails.map(&:subject).include?(@expected_subject) else !!(@given_emails.any?{ |mail| mail.subject =~ @expected_subject }) end end |