Class: ActiveMail::Quality::Rspec::ValidEmailMatcher
- Inherits:
-
Object
- Object
- ActiveMail::Quality::Rspec::ValidEmailMatcher
- Extended by:
- T::Sig
- Defined in:
- lib/activemail/quality/rspec.rb
Overview
Standalone matcher object — testable without booting RSpec. The be_a_valid_email helper below just returns it (no RSpec::Matchers.define DSL).
Instance Method Summary collapse
- #description ⇒ Object
- #failure_message ⇒ Object
- #failure_message_when_negated ⇒ Object
-
#initialize(guard: ActiveMail::Quality.guard) ⇒ ValidEmailMatcher
constructor
A new instance of ValidEmailMatcher.
- #matches?(html) ⇒ Boolean
Constructor Details
#initialize(guard: ActiveMail::Quality.guard) ⇒ ValidEmailMatcher
Returns a new instance of ValidEmailMatcher.
15 16 17 18 |
# File 'lib/activemail/quality/rspec.rb', line 15 def initialize(guard: ActiveMail::Quality.guard) @guard = T.let(guard, Guard) @violations = T.let([], T::Array[Guard::Violation]) end |
Instance Method Details
#description ⇒ Object
37 38 39 |
# File 'lib/activemail/quality/rspec.rb', line 37 def description 'be a valid email' end |
#failure_message ⇒ Object
27 28 29 |
# File 'lib/activemail/quality/rspec.rb', line 27 def "expected email HTML to be valid, but found violations:\n#{formatted_violations}" end |
#failure_message_when_negated ⇒ Object
32 33 34 |
# File 'lib/activemail/quality/rspec.rb', line 32 def 'expected email HTML to have quality violations, but it was valid' end |
#matches?(html) ⇒ Boolean
21 22 23 24 |
# File 'lib/activemail/quality/rspec.rb', line 21 def matches?(html) @violations = @guard.violations(html) @violations.empty? end |