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