From: Dave Rothlisberger Date: 2008-05-15T08:24:30+09:00 Subject: Re: Override methods from a module > Please let me know if this makes sense/how this could be improved. > > module Stuff > def self.included mod > @@mixer_class = mod > end > > def initialize > super > @@mixer_class.class_eval do > alias_method :old_setup, :setup > alias_method :old_teardown, :teardown > > define_method(:setup) do > old_setup > puts "new setup" > end > > define_method(:teardown) do > old_teardown > puts "new teardown" > end > end > end > end A slightly nicer way to write the above: module Stuff def self.included(mod) mod.class_eval do alias_method_chain :setup, :new_feature end end def setup_with_new_feature setup_without_new_feature puts 'new setup' end def teardown_with_new_feature teardown_without_new_feature puts 'new teardown' end end -- Posted via http://www.ruby-forum.com/.