Module: Rake::Cloneable
Overview
########################################################################## Mixin for creating easily cloned objects.
Instance Method Summary collapse
- #clone ⇒ Object
-
#dup ⇒ Object
Clone an object by making a new object and setting all the instance variables to the same values.
Instance Method Details
#clone ⇒ Object
19 20 21 22 23 |
# File 'lib/rake/cloneable.rb', line 19 def clone sibling = dup sibling.freeze if frozen? sibling end |
#dup ⇒ Object
Clone an object by making a new object and setting all the instance variables to the same values.
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/rake/cloneable.rb', line 8 def dup sibling = self.class.new instance_variables.each do |ivar| value = self.instance_variable_get(ivar) new_value = value.clone rescue value sibling.instance_variable_set(ivar, new_value) end sibling.taint if tainted? sibling end |