class Struct

Add full_dup support to the struct class.

Public Instance Methods

full_dup_no_exclusions(progress) click to toggle source

Do a full_dup with no exclusions

# File lib/full_dup/struct.rb, line 7
def full_dup_no_exclusions(progress)
  members.each 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) click to toggle source

Do a full_dup with exclusions

# File lib/full_dup/struct.rb, line 16
def full_dup_with_exclusions(progress, exclude)
  members.each do |name|
    unless exclude.include?(name)
      value = self[name]
      value = progress[value.object_id] || value.full_dup(progress)
      self[name] = value
    end
  end
end