From: Hans Mackowiak Date: 2013-02-14T22:02:36+09:00 Subject: Re: Best DRY way to write bang versions of methods? something like that? #when something is called, call dup.something! def method_missing(meth,*args) if respond_to?("#{meth}!") dup.send("#{meth}!",*args) else super end end #when something! is called, call replace something def method_missing(meth,*args) if /(\w+)!/ =~ meth replace send($!,*args) else super end end PS: you cant use both at the same place :P -- Posted via http://www.ruby-forum.com/.