Class: Operandi::RSpec::Matchers::HaveWarningsOnMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/operandi/rspec/matchers/have_warning_on.rb

Instance Method Summary collapse

Constructor Details

#initialize(keys) ⇒ HaveWarningsOnMatcher

Returns a new instance of HaveWarningsOnMatcher.



105
106
107
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 105

def initialize(keys)
  @keys = keys
end

Instance Method Details

#descriptionObject



130
131
132
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 130

def description
  "have warnings on #{@keys.inspect}"
end

#failure_messageObject



120
121
122
123
124
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 120

def failure_message
  "expected service to have warnings on #{@keys.inspect}, " \
    "but missing warnings on: #{@missing_keys.inspect}. " \
    "Actual warnings: #{warnings_summary}"
end

#failure_message_when_negatedObject



126
127
128
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 126

def failure_message_when_negated
  "expected service not to have warnings on #{@keys.inspect}"
end

#matches?(service) ⇒ Boolean

Returns:

  • (Boolean)


109
110
111
112
113
114
115
116
117
118
# File 'lib/operandi/rspec/matchers/have_warning_on.rb', line 109

def matches?(service)
  @service = service
  @missing_keys = []

  @keys.each do |key|
    @missing_keys << key unless @service.warnings.key?(key)
  end

  @missing_keys.empty?
end