Module: Sumaki::Model::Enum::ClassMethods

Defined in:
lib/sumaki/model/enum.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#enum(name, values) ⇒ Object

Map a field to the specified value

class Character
  include Sumaki::Model
  field :name
  enum :type, { vampire: 1, vampire_hunter: 2, familier: 3, editor: 4 }
end

data = {
  name: 'John',
  type: 3
}

character = Character.new(data)
character.type.name #=> :familier
character.type.familier? #=> true
character.type.vampire? #=> false

Enum can also be set.

character = Character.new({})
character.type = 1
character.type.name #=> :vampire


48
49
50
51
# File 'lib/sumaki/model/enum.rb', line 48

def enum(name, values)
  _minenum_enum(name, values, _sumaki_methods_module, _sumaki_attribute_reflections,
                adapter_builder: EnumAttrAccessor)
end