class Perpetuity::Duplicator
Attributes
object[R]
Public Class Methods
new(object)
click to toggle source
# File lib/perpetuity/duplicator.rb, line 4 def initialize object if object.is_a? Array @object = object.map { |i| Duplicator.new(i).object } else @object = object.dup rescue object end @object.instance_variables.each do |ivar| duplicate_attribute ivar end end
Public Instance Methods
attribute(ivar)
click to toggle source
# File lib/perpetuity/duplicator.rb, line 15 def attribute ivar object.instance_variable_get ivar end
duplicate_attribute(ivar)
click to toggle source
# File lib/perpetuity/duplicator.rb, line 23 def duplicate_attribute ivar set_attribute ivar, Duplicator.new(attribute(ivar)).object end
set_attribute(ivar, value)
click to toggle source
# File lib/perpetuity/duplicator.rb, line 19 def set_attribute ivar, value object.instance_variable_set ivar, value end