diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-31 02:52:44 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-03-31 02:52:44 +0000 |
| commit | 993f01d8c20ab9918abd3c029d95a99f1d4b2dfc (patch) | |
| tree | 6a2b0fd6bfcee7903f699a18e1d0d5c93190c455 /lib/delegate.rb | |
| parent | b861a1196bc0a2b57e78e0a3685f35412707cb12 (diff) | |
| download | ruby-993f01d8c20ab9918abd3c029d95a99f1d4b2dfc.tar.gz ruby-993f01d8c20ab9918abd3c029d95a99f1d4b2dfc.tar.xz ruby-993f01d8c20ab9918abd3c029d95a99f1d4b2dfc.zip | |
* lib/delegate.rb (DelegateClass): define internal methods of the
result class, but not metaclass of the caller.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/delegate.rb')
| -rw-r--r-- | lib/delegate.rb | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb index cccaea857..6e2637393 100644 --- a/lib/delegate.rb +++ b/lib/delegate.rb @@ -91,6 +91,12 @@ def DelegateClass(superclass) def initialize(obj) @_dc_obj = obj end + def __getobj__ + @_dc_obj + end + def __setobj__(obj) + @_dc_obj = obj + end EOS for method in methods begin @@ -108,13 +114,7 @@ def DelegateClass(superclass) raise NameError, "invalid identifier %s" % method, caller(3) end end - def __getobj__ - @_dc_obj - end - def __setobj__(obj) - @_dc_obj = obj - end - return klass; + return klass end if __FILE__ == $0 |
