From: Trans Date: 2007-11-13T23:24:51+09:00 Subject: method_added/define_method infinite loop What's the best way to avoid the classic method_added/define_method infinite loop? class X def self.method_added(name) p name define_method(name) # do something else end end def foo; end end This will, of course, print "foo" forever. As an aside, anyone else think method_added should also receive a block of the method definition? E.g. this would be a "push" (less the infinite loop issue): def self.method_added(name, &block) define_method(name, &block) end Thanks! T.