From: Brian Takita Date: 2005-07-20T02:41:05+09:00 Subject: Re: Removing Instance Methods This is a good way to get rid of those pesky 'method redefined' warnings in cases such as in this case: def a_method(obj) def obj.one 'one' end end def a_method2(obj) def obj.one 1 end end one = 'one' a_method(one) a_method2(one) > warning: redefine one ########### def custom_remove_method(obj, sym) class << obj; self end.send(:remove_method, sym) end def a_method(obj) custom_remove_method(obj, :one) if obj.respond_to?(:one) def obj.one 'one' end end def a_method2(obj) custom_remove_method(obj, :one) if obj.respond_to?(:one) def obj.one 1 end end one = 'one' a_method(one) a_method2(one)