Sha256: 1123127d61d1b2736e812dc905c6b9d033060674491b804989c727585172c9a5
Contents?: true
Size: 766 Bytes
Versions: 28
Compression:
Stored size: 766 Bytes
Contents
# originally taken from: https://github.com/rails/rails/blob/main/activesupport/lib/active_support/core_ext/object/deep_dup.rb class Object # 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 def deep_dup duplicable? ? dup : self end end class Array # Returns a deep copy of array. # # array = [1, [2, 3]] # dup = array.deep_dup # dup[1][2] = 4 # # array[1][2] # => nil # dup[1][2] # => 4 def deep_dup map(&:deep_dup) end end
Version data entries
28 entries across 28 versions & 1 rubygems