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
Private Instance Methods
formatted_expected_hash()
click to toggle source
# File lib/rspec/mocks/argument_matchers.rb, line 197 def formatted_expected_hash Hash[ @expected.map do |k, v| k = RSpec::Support.rspec_description_for_object(k) v = RSpec::Support.rspec_description_for_object(v) [k, v] end ] end