class Mocha::ParameterMatchers::HasKeys
Parameter matcher which matches when actual parameter contains Hash
with all expected keys.
Public Class Methods
new(*keys)
click to toggle source
@private
# File lib/mocha/parameter_matchers/has_keys.rb, line 31 def initialize(*keys) raise ArgumentError, 'No arguments. Expecting at least one.' if keys.empty? @keys = keys end
Public Instance Methods
matches?(available_parameters)
click to toggle source
@private
# File lib/mocha/parameter_matchers/has_keys.rb, line 38 def matches?(available_parameters) parameter = available_parameters.shift return false unless parameter.respond_to?(:keys) @keys.map(&:to_matcher).all? do |matcher| parameter.keys.any? { |key| matcher.matches?([key]) } end end
mocha_inspect()
click to toggle source
@private
# File lib/mocha/parameter_matchers/has_keys.rb, line 48 def mocha_inspect "has_keys(#{@keys.mocha_inspect(false)})" end