class RSpec::Mocks::ArgumentMatchers::BaseHashMatcher

@private

Public Class Methods

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

Public Instance Methods

===(predicate, actual) click to toggle source
# File lib/rspec/mocks/argument_matchers.rb, line 183
def ===(predicate, actual)
  @expected.__send__(predicate) do |k, v|
    actual.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 191
def description(name)
  "#{name}(#{formatted_expected_hash.inspect.sub(/^\{/, "").sub(/\}$/, "")})"
end