class Hash

Add full_clone support to all hashes.

Public Instance Methods

full_clone_no_exclusions(progress) click to toggle source

Do a full_clone with no exclusions

# 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) click to toggle source

Do a full_clone with exclusions

# 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