Class: Hash

Inherits:
Object show all
Defined in:
lib/full_dup/hash.rb

Overview

Add full_dup support to the hash class.

Instance Method Summary collapse

Instance Method Details

#full_dup_no_exclusions(progress) ⇒ Object

Do a full_dup with no exclusions



7
8
9
10
11
12
13
# File 'lib/full_dup/hash.rb', line 7

def full_dup_no_exclusions(progress)
  each_key do |name|
    value = self[name]
    value = progress[value.object_id] || value.full_dup(progress)
    self[name] = value
  end
end

#full_dup_with_exclusions(progress, exclude) ⇒ Object

Do a full_dup with exclusions



16
17
18
19
20
21
22
23
24
# File 'lib/full_dup/hash.rb', line 16

def full_dup_with_exclusions(progress, exclude)
  each_key do |name|
    unless exclude.include?(name)
      value = self[name]
      value = progress[value.object_id] || value.full_dup(progress)
      self[name] = value
    end
  end
end