Class: Hash
Overview
Add full_clone support to all hashes.
Instance Method Summary collapse
-
#full_clone_no_exclusions(progress) ⇒ Object
Do a full_clone with no exclusions.
-
#full_clone_with_exclusions(progress, exclude) ⇒ Object
Do a full_clone with exclusions.
Instance Method Details
#full_clone_no_exclusions(progress) ⇒ Object
Do a full_clone with no exclusions
7 8 9 10 11 12 13 |
# File 'lib/full_clone/hash.rb', line 7 def full_clone_no_exclusions(progress) each_key do |name| value = self[name] value = progress[value.object_id] || value.full_clone(progress) self[name] = value end end |
#full_clone_with_exclusions(progress, exclude) ⇒ Object
Do a full_clone with exclusions
16 17 18 19 20 21 22 23 24 |
# File 'lib/full_clone/hash.rb', line 16 def full_clone_with_exclusions(progress, exclude) each_key do |name| unless exclude.include?(name) value = self[name] value = progress[value.object_id] || value.full_clone(progress) self[name] = value end end end |