I'm about to finish the Eloquent Ruby book (excellent book by the way) and keep finding ruby pearls of wisdom. One of these is that you can actually use module mixins to extend class methods! You only need to declare a module mixin as normal, and then include it on the singleton class of your declared class ("Klass" in our example).
# module module Findable def find_by_name(name) # find something end end # Class class Klass # class stuff class << self include Findable end end
Then we can use it just like any other class method.