summaryrefslogtreecommitdiffhomepage
path: root/mrblib
diff options
context:
space:
mode:
Diffstat (limited to 'mrblib')
-rw-r--r--mrblib/hash.rb12
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)