class Mocha::ParameterMatchers::HasEntry

Parameter matcher which matches when actual parameter contains expected Hash entry.

Public Class Methods

new(key, value) click to toggle source

@private

# File lib/mocha/parameter_matchers/has_entry.rb, line 60
def initialize(key, value)
  @key = key
  @value = value
end

Public Instance Methods

matches?(available_parameters) click to toggle source

@private

# File lib/mocha/parameter_matchers/has_entry.rb, line 66
def matches?(available_parameters)
  parameter = available_parameters.shift
  return false unless parameter.respond_to?(:keys) && parameter.respond_to?(:[])
  matching_keys = parameter.keys.select { |key| @key.to_matcher.matches?([key]) }
  matching_keys.any? { |key| @value.to_matcher.matches?([parameter[key]]) }
end
mocha_inspect() click to toggle source

@private

# File lib/mocha/parameter_matchers/has_entry.rb, line 74
def mocha_inspect
  "has_entry(#{@key.mocha_inspect} => #{@value.mocha_inspect})"
end