class WebMock::RequestExecutionVerifier
Attributes
at_least_times_executed[RW]
at_most_times_executed[RW]
expected_times_executed[RW]
request_pattern[RW]
times_executed[RW]
Public Class Methods
executed_requests_message()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 48 def self.executed_requests_message "\n\nThe following requests were made:\n\n#{RequestRegistry.instance}\n" + "="*60 end
new(request_pattern = nil, expected_times_executed = nil, at_least_times_executed = nil, at_most_times_executed = nil)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 6 def initialize(request_pattern = nil, expected_times_executed = nil, at_least_times_executed = nil, at_most_times_executed = nil) @request_pattern = request_pattern @expected_times_executed = expected_times_executed @at_least_times_executed = at_least_times_executed @at_most_times_executed = at_most_times_executed end
Public Instance Methods
description()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 36 def description "request #{request_pattern} #{quantity_phrase.strip}" end
does_not_match?()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 26 def does_not_match? @times_executed = RequestRegistry.instance.times_executed(@request_pattern) if @expected_times_executed @times_executed != @expected_times_executed else @times_executed == 0 end end
failure_message()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 40 def failure_message failure_message_phrase(false) end
failure_message_when_negated()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 44 def failure_message_when_negated failure_message_phrase(true) end
matches?()
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 13 def matches? @times_executed = RequestRegistry.instance.times_executed(@request_pattern) if @at_least_times_executed @times_executed >= @at_least_times_executed elsif @at_most_times_executed @times_executed <= @at_most_times_executed else @times_executed == (@expected_times_executed || 1) end end
Private Instance Methods
failure_message_phrase(is_negated=false)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 54 def failure_message_phrase(is_negated=false) negation = is_negated ? "was not" : "was" "The request #{request_pattern} #{negation} expected to execute #{quantity_phrase(is_negated)}but it executed #{times(times_executed)}" + self.class.executed_requests_message end
quantity_phrase(is_negated=false)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 60 def quantity_phrase(is_negated=false) if @at_least_times_executed "at least #{times(@at_least_times_executed)} " elsif @at_most_times_executed "at most #{times(@at_most_times_executed)} " elsif @expected_times_executed "#{times(@expected_times_executed)} " else is_negated ? "" : "#{times(1)} " end end
times(times)
click to toggle source
# File lib/webmock/request_execution_verifier.rb, line 72 def times(times) "#{times} time#{ (times == 1) ? '' : 's'}" end