Class: Hash
Instance Method Summary collapse
-
#full_clone(progress = {}) ⇒ Object
The full_clone method for structs.
Instance Method Details
#full_clone(progress = {}) ⇒ Object
The full_clone method for structs.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/full_clone/hash.rb', line 4 def full_clone(progress={}) progress[object_id] = result = clone exclude = full_clone_exclude each_key do |name| unless exclude.include?(name) value = result[name] value = progress[value.object_id] || value.full_clone(progress) result[name] = value end end result end |