From: Mark Hahn Date: 2001-10-31T05:47:28+09:00 Subject: [ruby-talk:23866] Overiding a method in another module I want to write a module that overrides a method in another module. I have figured out a way to do this, but my technique seems awfully complicated. Is there an easier way to do this? This is the existing module that I want to override: module M1 class C1 def meth p 'M1.meth' end end end include M1 This is my new module that overides the old method "meth". module M2 class << C1 alias :old_new :new def new(*args) newInstance = old_new *args class << newInstance alias :old_meth :meth def meth(*a) p 'M2.meth' end end return newInstance end end end include M2 C1.new.meth => M2.meth