Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/rr/core_ext/hash.rb

Direct Known Subclasses

RR::HashWithObjectIdKey

Instance Method Summary collapse

Instance Method Details

#wildcard_match?(other) ⇒ Boolean

Returns:

  • (Boolean)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/rr/core_ext/hash.rb', line 2

def wildcard_match?(other)
  return false unless other.is_a?(Hash)

  other_keys = other.keys
  return false if keys.size != other_keys.size

  other_values = other.values
  each_with_index do |(key, value), i|
    if key.respond_to?(:wildcard_match?)
      return false unless key.wildcard_match?(other_keys[i])
    else
      return false unless key == other_keys[i]
    end
    if value.respond_to?(:wildcard_match?)
      return false unless value.wildcard_match?(other_values[i])
    else
      return false unless value == other_values[i]
    end
  end
end