summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-30 15:22:00 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-06-30 15:22:00 +0000
commit9fd9152ad94c055f7bb3223d603dd294101d69e1 (patch)
tree7d94c8b145530f1c02d9c23f22e0ee54d396d1c1 /lib
parent39b31452c842a708719e81d178458062ed01e733 (diff)
downloadruby-9fd9152ad94c055f7bb3223d603dd294101d69e1.tar.gz
ruby-9fd9152ad94c055f7bb3223d603dd294101d69e1.tar.xz
ruby-9fd9152ad94c055f7bb3223d603dd294101d69e1.zip
* lib/delegate.rb (Delegator::respond_to): respond_to? must check
destination object. [ruby-talk:146894] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/delegate.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb
index 72b52f3d4..1d0ebed07 100644
--- a/lib/delegate.rb
+++ b/lib/delegate.rb
@@ -57,6 +57,11 @@ class Delegator
target.__send__(m, *args)
end
+ def respond_to?(m)
+ return true if super
+ return self.__getobj__.respond_to?(m)
+ end
+
def __getobj__
raise NotImplementedError, "need to define `__getobj__'"
end
@@ -115,6 +120,10 @@ def DelegateClass(superclass)
end
@_dc_obj.__send__(m, *args)
end
+ def respond_to?(m)
+ return true if super
+ return @_dc_obj.respond_to?(m)
+ end
def __getobj__
@_dc_obj
end