Module: ActiveTools::CoreExtension::DeepCopy::SetExtension
- Defined in:
- lib/active_tools/core_extension/deep_copy.rb
Instance Method Summary collapse
Instance Method Details
#deep_copy(&block) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/active_tools/core_extension/deep_copy.rb', line 36 def deep_copy(&block) self.class.new.tap do |new_set| each do |v| new_set << case v when Hash, Array, Set then v.deep_copy(&block) else block_given? ? yield(v) : v.dup rescue v end end end end |