module Enumerize

def self.extended(base)

def self.extended(base)
  base.send :include, Enumerize::Base
  base.extend Enumerize::Predicates
  if defined?(::ActiveModel::Attributes)
    base.extend Enumerize::ActiveModelAttributesSupport
  end
  if defined?(::ActiveRecord::Base)
    base.extend Enumerize::ActiveRecordSupport
    base.extend Enumerize::Scope::ActiveRecord
  end
  if defined?(::Mongoid::Document)
    base.extend Enumerize::MongoidSupport
    base.extend Enumerize::Scope::Mongoid
  end
  if defined?(::Sequel::Model)
    base.extend Enumerize::SequelSupport
    base.extend Enumerize::Scope::Sequel
  end
  if defined?(::RailsAdmin)
    require 'enumerize/integrations/rails_admin'
    base.extend Enumerize::Integrations::RailsAdmin
  end
  if ::Module === base
    base.extend Enumerize::Base::ClassMethods
    base.extend Enumerize::ModuleAttributes
  end
  super
end

def self.included(base)

def self.included(base)
  ActiveSupport::Deprecation.warn '`include Enumerize` was deprecated. Please use `extend Enumerize`.', caller
  extended(base)
end