Module: Cloneable
- Defined in:
- lib/standard/facets/cloneable.rb
Instance Method Summary collapse
Instance Method Details
#initialize_copy(sibling) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/standard/facets/cloneable.rb', line 7 def initialize_copy(sibling) super operation = ( copy_call = caller.find{|x| x !~ /'initialize_copy'/} copy_match = copy_call.match(/`(dup|clone)'/) copy_match ? copy_match[1] : :dup ) sibling.instance_variables.each do |ivar| value = sibling.instance_variable_get(ivar) instance_variable_set(ivar, value.send(operation)) end end |