Sha256: 0b3c6432b3153f7bafbff253f01d9beb4f811c82ccf439fb0ad2a843bdc24c83

Contents?: true

Size: 704 Bytes

Versions: 6

Compression:

Stored size: 704 Bytes

Contents

require 'active_support'
require 'enum_ish/version'
require 'enum_ish/errors'
require 'enum_ish/config'
require 'enum_ish/enum'
require 'enum_ish/dictionary'
require 'enum_ish/definer'
require 'enum_ish/active_record_definer' if defined?(ActiveRecord::Base)

module EnumIsh
  def enum_ish(name, map, config = {})
    enum = Enum.new(name, map, config)

    self._enum_ish_enums ||= {}
    self._enum_ish_enums[name.to_sym] = enum

    if defined?(ActiveRecord::Base) && self.ancestors.include?(ActiveRecord::Base)
      ActiveRecordDefiner.new(self).define(enum)
    else
      Definer.new(self).define(enum)
    end
  end

  def self.extended(klass)
    klass.class_attribute :_enum_ish_enums
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
enum_ish-1.4.0 lib/enum_ish.rb
enum_ish-1.3.3 lib/enum_ish.rb
enum_ish-1.3.2 lib/enum_ish.rb
enum_ish-1.3.1 lib/enum_ish.rb
enum_ish-1.3.0 lib/enum_ish.rb
enum_ish-1.2.3 lib/enum_ish.rb