mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
f6d2b48588
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
16 lines
418 B
Ruby
16 lines
418 B
Ruby
module Rake
|
|
##
|
|
# Mixin for creating easily cloned objects.
|
|
|
|
module Cloneable # :nodoc:
|
|
# The hook that is invoked by 'clone' and 'dup' methods.
|
|
def initialize_copy(source)
|
|
super
|
|
source.instance_variables.each do |var|
|
|
src_value = source.instance_variable_get(var)
|
|
value = src_value.clone rescue src_value
|
|
instance_variable_set(var, value)
|
|
end
|
|
end
|
|
end
|
|
end
|