summaryrefslogtreecommitdiff
path: root/lib/delegate.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/delegate.rb')
-rw-r--r--lib/delegate.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/delegate.rb b/lib/delegate.rb
index 2891167fa8..c38aea5947 100644
--- a/lib/delegate.rb
+++ b/lib/delegate.rb
@@ -205,13 +205,14 @@ class Delegator < BasicObject
end
# :nodoc:
- def dup
- self.class.new(__getobj__.dup)
+ def initialize_clone(obj)
+ self.__setobj__(obj.__getobj__.clone)
end
# :nodoc:
- def clone
- self.class.new(__getobj__.clone)
+ def initialize_dup(obj)
+ self.__setobj__(obj.__getobj__.dup)
end
+ private :initialize_clone, :initialize_dup
# Freeze self and target at once.
def freeze