proxy_method (rubygems):     The purpose of this gem is to prevent directly running the inherited     methods you choose to block at either the class or instance level, and     instead do one of two things: run an alternative block which may or may     not invoke the original method, or simply raise an error message.      The error message can be customized. The original method can still be     called under a different name. The entire object or class can return     "unproxied" versions of themselves to preserve the original functionality.      This was originally created to help enforce the use of interactors over     directly calling ActiveRecord methods like create, save, and update. As     with any metaprogramming, this gives you plenty of rope to hang yourself     if you try to get too "clever". Treat this library like salt; use     sparingly, because over time its cumulative effect will kill you :) 
Keywords: gem|public