Add an 'acts_as' method to Active Record

module Ciccio
extend ActiveSupport::Concern
included do
end
module ClassMethods
def acts_as_ciccio(add_power: false)
# Do some stuffs
if add_power
include InstanceMethods2
end
end
end
module InstanceMethods
def ciccio
puts 'ciccio'
end
end
module InstanceMethods2
def ciccio2
puts 'ciccio'
end
end
end
ActiveRecord::Base.send(:include, Ciccio) # optional