Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Moduleクラス > method_undefined (private)
method_undefined(name) -> ()
[permalink][rdoc]このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
特異メソッドの削除をフックするには BasicObject#singleton_method_undefined を使います。
class C
def C.method_undefined(name)
puts "method C\##{name} was undefined"
end
def foo
end
def bar
end
undef_method :foo
undef bar
end
実行結果:
method C#foo was undefined method C#bar was undefined