From: nobu@... Date: 2006-08-10T17:31:53+09:00 Subject: Re: Why can't I alias_method :remove_method ? Hi, At Thu, 10 Aug 2006 15:46:40 +0900, Pat Maddox wrote in [ruby-talk:207490]: > irb(main):001:0> class Foo > irb(main):002:1> alias_method :old_remove_method, :remove_method > irb(main):003:1> end > NameError: undefined method `remove_method' for class `Foo' > from (irb):2:in `alias_method' > from (irb):2 > > But you can call remove_method from within the class, so why can't you > alias it? What other methods can't you alias? Or rather, what are the > restrictions/conditions under which you must use alias_method? You can call a singleton method named remove_method which is inherited from the super class, Module, but you didn't define an instance method named remove_method. You can: class Foo class << self alias_method :old_remove_method, :remove_method end end -- Nobu Nakada