def bar_too “#{bar_orig} new” end def self.included(base) base.class_eval do alias_method :bar_orig, :bar alias_method :bar, :bar_too end end end Foo.send :include, FooChanger
def bar_with_changer “#{bar_without_changer} new” end def self.included(base) base.class_eval do alias_method_chain :bar, :changer end end end Foo.send :include, Changer