module Categorizable module ClassMethods def acts_as_categorizable has_many :audience_scopes, :as => :audienciable has_many :audience_categories, :through => :audience_scopes has_many :areas, :through => :audience_scopes send :include, InstanceMethods end def for_user(user) ... end end module InstanceMethods def related ... end end end ActiveRecord::Base.send :include, Categorizable