oop/undefined_copy_hook_no_parens.rb

tests/_examples/oop/undefined_copy_hook_no_parens.rb in the metorex repository.

# A class that undefines initialize_copy cannot finish a copy: dup and
# clone call it on the copy, and it is not there to answer.
class Uncopyable
  undef_method :initialize_copy
end

[:dup, :clone].each do |copying|
  begin
    Uncopyable.new.public_send copying
  rescue NoMethodError => error
    puts error.message
  end
end

Output:

undefined method 'initialize_copy' for an instance of Uncopyable
undefined method 'initialize_copy' for an instance of Uncopyable