Module: ActiveTools::CoreExtension::DeepCopy::ArrayExtension
- Defined in:
- lib/active_tools/core_extension/deep_copy.rb
Instance Method Summary collapse
Instance Method Details
#deep_copy(&block) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/active_tools/core_extension/deep_copy.rb', line 22 def deep_copy(&block) self.class.new.tap do |new_array| each do |v| new_array << case v when Hash, Array, Set then v.deep_copy(&block) else block_given? ? yield(v) : v.dup rescue v end end end end |