ActiveSupport::Concern

A typical module looks like this: module M def self.included(base) base.extend ClassMethods base.