@private
# File lib/rspec/mocks/argument_matchers.rb, line 179 def initialize(expected) @expected = expected end
# 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
# File lib/rspec/mocks/argument_matchers.rb, line 191 def description(name) "#{name}(#{formatted_expected_hash.inspect.sub(/^\{/, "").sub(/\}$/, "")})" end
# 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