class RSpec::Mocks::ArgumentMatchers::BaseHashMatcher
@private
Public Class Methods
Source
# File lib/rspec/mocks/argument_matchers.rb, line 189 def initialize(expected) @expected = expected end
Public Instance Methods
Source
# File lib/rspec/mocks/argument_matchers.rb, line 193 def ===(predicate, actual) @expected.__send__(predicate) do |k, v| actual.key?(k) && Support::FuzzyMatcher.values_match?(v, actual[k]) end rescue NoMethodError false end
Source
# File lib/rspec/mocks/argument_matchers.rb, line 201 def description(name) "#{name}(#{formatted_expected_hash.inspect.sub(/^\{/, "").sub(/\}$/, "")})" end
Private Instance Methods
Source
# File lib/rspec/mocks/argument_matchers.rb, line 207 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