From: Chris Pine Date: 2003-01-03T10:01:25+09:00 Subject: Re: How to call overridden methods (finally!) Actually, here's another way to call the "super" of a method, but it's less general than my first solution. class Foo def to_s 'just another Foo' end end class Bar < Foo def to_s 'proud to be a Bar' end def foo_to_s alias :__temp_to_s__ :to_s Bar.module_eval 'def to_s; super; end' super_to_s = to_s alias :to_s :__temp_to_s__ super_to_s end end puts Bar.new.to_s puts Bar.new.foo_to_s I'm just posting this because I asked about it a few weeks back and was told it was impossible to call an overridden method in a base class. It isn't. I remember someone else who wanted to call the super of one method from another but never figured out how to do it, and no solution was ever presented, so here are a few ideas for him as well. Chris