In Files

  • rake/cloneable.rb

Methods

Rake::Cloneable

########################################################################## Mixin for creating easily cloned objects.

Public Instance Methods

clone() click to toggle source
 
               # File rake/cloneable.rb, line 19
def clone
  sibling = dup
  sibling.freeze if frozen?
  sibling
end
            
dup() click to toggle source

Clone an object by making a new object and setting all the instance variables to the same values.

 
               # File 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