Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > class Module > method_undefined (private)
method_undefined(name) -> ()
このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
特異メソッドの削除をフックするには Object#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