Sha256: 7f71e1e53c56a1679299a25e023af798cb5a00967ec5a1e0d580a936bdb107ef

Contents?: true

Size: 575 Bytes

Versions: 69

Compression:

Stored size: 575 Bytes

Contents

module WebMock
  module Matchers
    # Base class for Hash matchers
    # https://github.com/rspec/rspec-mocks/blob/master/lib/rspec/mocks/argument_matchers.rb
    class HashArgumentMatcher
      def initialize(expected)
        @expected = Hash[WebMock::Util::HashKeysStringifier.stringify_keys!(expected, deep: true).sort]
      end

      def ==(_actual, &block)
        @expected.all?(&block)
      rescue NoMethodError
        false
      end

      def self.from_rspec_matcher(matcher)
        new(matcher.instance_variable_get(:@expected))
      end
    end
  end
end

Version data entries

69 entries across 69 versions & 5 rubygems

Version Path
webmock-3.5.0 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.4.2 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.4.1 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.4.0 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.3.0 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.2.1 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.2.0 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.1.1 lib/webmock/matchers/hash_argument_matcher.rb
webmock-3.1.0 lib/webmock/matchers/hash_argument_matcher.rb