summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Cheung <jollyjerry@gmail.com>2013-02-12 10:52:32 -0800
committerJerry Cheung <jollyjerry@gmail.com>2013-02-12 10:52:32 -0800
commit52bf2872eaaaffb174b9ba707f1d4396d81ca444 (patch)
tree297c2aae1d573d8c521f2c8ee1f138ae790a4073
parent6af738f3984a644372266ac6d4b7557cbdf040e1 (diff)
parent245f73ec39452afbc969980d3e547fe33d685ce8 (diff)
downloadhashie-52bf2872eaaaffb174b9ba707f1d4396d81ca444.tar.gz
Merge pull request #75 from intridea/review-62
Review pull #62: respond_to? 1.9
-rw-r--r--lib/hashie/extensions/method_access.rb6
-rw-r--r--spec/hashie/mash_spec.rb3
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/hashie/extensions/method_access.rb b/lib/hashie/extensions/method_access.rb
index 50ee46c..39539a5 100644
--- a/lib/hashie/extensions/method_access.rb
+++ b/lib/hashie/extensions/method_access.rb
@@ -27,7 +27,7 @@ module Hashie
#
# user.not_declared # => NoMethodError
module MethodReader
- def respond_to?(name)
+ def respond_to?(name, include_private = false)
return true if key?(name.to_s) || key?(name.to_sym)
super
end
@@ -57,7 +57,7 @@ module Hashie
# h['awesome'] # => 'sauce'
#
module MethodWriter
- def respond_to?(name)
+ def respond_to?(name, include_private = false)
return true if name.to_s =~ /=$/
super
end
@@ -96,7 +96,7 @@ module Hashie
# h.def? # => false
# h.hji? # => NoMethodError
module MethodQuery
- def respond_to?(name)
+ def respond_to?(name, include_private = false)
return true if name.to_s =~ /(.*)\?$/ && (key?($1) || key?($1.to_sym))
super
end
diff --git a/spec/hashie/mash_spec.rb b/spec/hashie/mash_spec.rb
index 7559128..95821f5 100644
--- a/spec/hashie/mash_spec.rb
+++ b/spec/hashie/mash_spec.rb
@@ -341,7 +341,8 @@ describe Hashie::Mash do
context "when key does not exist" do
it "should raise KeyError" do
- expect { mash.fetch(:two) }.to raise_error(KeyError)
+ error = RUBY_VERSION =~ /1.8/ ? IndexError : KeyError
+ expect { mash.fetch(:two) }.to raise_error(error)
end
context "with default value given" do