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 |