class Class

Public Instance Methods

force_deep_copy(*syms) click to toggle source
# File lib/dohutil/core_ext/force_deep_copy.rb, line 2
def force_deep_copy(*syms)
  return if syms.empty?
  code = "def initialize_copy(orig); "
  code << "super(orig)\n "
  syms.each do |elem|
    code << "@#{elem} = @#{elem}.nil? ? nil : @#{elem}.dup\n "
  end
  code << "end\n"
  class_eval(code)
end