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
|