def initialize_copy other_spec
other_ivars = other_spec.instance_variables
other_ivars = other_ivars.map { |ivar| ivar.intern } if
String === other_ivars.first
self.class.array_attributes.each do |name|
name = "@#{name}""@#{name}"
next unless other_ivars.include? name
begin
val = other_spec.instance_variable_get(name)
if val then
instance_variable_set name, val.dup
elsif Gem.configuration.really_verbose
warn "WARNING: #{full_name} has an invalid nil value for #{name}"
end
rescue TypeError
e = Gem::FormatException.new \
"#{full_name} has an invalid value for #{name}"
e.file_path = loaded_from
raise e
end
end
end