oop/undefined_instance_methods_parens.rb

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

module Mixin
  def from_module
  end
end

class Parent
  def kept
  end

  def retired
  end

  undef_method(:retired)
end

class Child < Parent
  include(Mixin)

  def own
  end

  undef_method(:own, :kept, :from_module)
end

puts(Parent.undefined_instance_methods.inspect)
puts(Child.undefined_instance_methods.sort.inspect)
puts(Child.instance_methods(false).inspect)
puts(Child.new.respond_to?(:kept).inspect)
puts(Parent.new.kept.inspect)

Output:

[:retired]
[:from_module, :kept, :own]
[]
false
nil