Method: Object#deep_dup

Defined in:
lib/active_support/core_ext/object/deep_dup.rb

#deep_dupObject

Returns a deep copy of object if it’s duplicable. If it’s not duplicable, returns self.

object = Object.new
dup    = object.deep_dup
dup.instance_variable_set(:@a, 1)

object.instance_variable_defined?(:@a) # => false
dup.instance_variable_defined?(:@a)    # => true
[View source]

15
16
17
# File 'lib/active_support/core_ext/object/deep_dup.rb', line 15

def deep_dup
  duplicable? ? dup : self
end