diff options
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/hash.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/mrblib/hash.rb b/mrblib/hash.rb index 1f2358a52..978fb367b 100644 --- a/mrblib/hash.rb +++ b/mrblib/hash.rb @@ -12,7 +12,11 @@ class Hash # ISO 15.2.13.4.1 def == (hash) return true if self.equal?(hash) - hash = hash.to_hash + begin + hash = hash.to_hash + rescue NoMethodError + return false + end return false if self.size != hash.size self.each do |k,v| return false unless hash.key?(k) @@ -28,7 +32,11 @@ class Hash # ISO 15.2.13.4.32 (x) def eql?(hash) return true if self.equal?(hash) - hash = hash.to_hash + begin + hash = hash.to_hash + rescue NoMethodError + return false + end return false if self.size != hash.size self.each do |k,v| return false unless hash.key?(k) |
