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.
230 231 232 |
# File 'lib/email_spec/matchers.rb', line 230 def initialize(subject) @expected_subject = subject end |
Instance Method Details
#description ⇒ Object
234 235 236 237 238 239 240 |
# File 'lib/email_spec/matchers.rb', line 234 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
251 252 253 254 255 256 257 |
# File 'lib/email_spec/matchers.rb', line 251 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
259 260 261 262 263 264 265 |
# File 'lib/email_spec/matchers.rb', line 259 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
242 243 244 245 246 247 248 249 |
# File 'lib/email_spec/matchers.rb', line 242 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 |