Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > class Object > singleton_method_undefined (private)

instance method Object#singleton_method_undefined

singleton_method_undefined(name) -> object

特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。

通常のメソッドの未定義に対するフックには Module#method_undefined を使います。

[PARAM] name:
未定義にされたメソッド名が Symbol で渡されます。
class Foo
  def singleton_method_undefined(name)
    puts "singleton method \"#{name}\" was undefined"
  end
end

obj = Foo.new
def obj.foo
end
def obj.bar
end

class << obj
  undef_method :foo
end
obj.instance_eval {undef bar}

#=> singleton method "foo" was undefined
#   singleton method "bar" was undefined

[SEE_ALSO] Module#method_undefined, Object#singleton_method_added, Object#singleton_method_removed, クラスとメソッドの定義/undef