Module: EnumAttribute

Defined in:
lib/enum_attribute.rb

Overview

usage

#add in your model
 include EnumAttribute

#seting in a Aaa model
 enum_attribute :test, ['a','b','c'] 

ex.
  class methods is defined.
    Aaa.tests         => ['a','b','c']
    Aaa.test_names    => [ t('activerecord.attributes.aaa.tests.a'),
                           t('activerecord.attributes.aaa.tests.b'),
                           t('activerecord.attributes.aaa.tests.c') ] 

    Aaa.test_name('a')  => t('activerecord.attributes.aaa.tests.a')

    Aaa.test_pairs    => [[t('activerecord.attributes.aaa.tests.a'),a],
                          [t('activerecord.attributes.aaa.tests.b'),b],
                          [t('activerecord.attributes.aaa.tests.c'),c]]

    test_pairs method is useful for select_tag
      select @aaa, Aaa.test_pairs 

  instance methods also is defined.
    @aaa = Aaa.new(:test=>'a')
    @aaa.test_name     => t('activerecord.attributes.aaa.tests.a')

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

.included(target) ⇒ Object



51
52
53
54
55
# File 'lib/enum_attribute.rb', line 51

def self.included target
  target.class_eval do
    extend EnumAttribute::ClassMethods
  end
end