class RSpec::Mocks::ArgumentMatchers::BaseHashMatcher

@private

Public Class Methods

new(expected) click to toggle source
# File lib/rspec/mocks/argument_matchers.rb, line 163
def initialize(expected)
  @expected = expected
end

Public Instance Methods

===(predicate, actual) click to toggle source
# File lib/rspec/mocks/argument_matchers.rb, line 167
def ===(predicate, actual)
  @expected.__send__(predicate) do |k, v|
    actual.has_key?(k) && Support::FuzzyMatcher.values_match?(v, actual[k])
  end
rescue NoMethodError
  false
end
description(name) click to toggle source
# File lib/rspec/mocks/argument_matchers.rb, line 175
def description(name)
  "#{name}(#{@expected.inspect.sub(/^\{/,"").sub(/\}$/,"")})"
end