Overriding a Class's Methods Using A Mixin
You want a module to be mixed in to your class. Your class defines methods of the same names as the methods found in the module. The intent is that the module's same-named methods would override the class's methods; however, this is not the default behavior in Ruby.
Chad Fowler describes this issue:
It's been mentioned on Stack Overflow too:
Some people handle this with alias_method_chain; however, there is a cleaner alternative. Simply move the class's methods into its own module and include that module in the class. This also gives you the ability to call “super” if desired.