Module: RailsAttrEnum::Enum::ClassMethods
- Defined in:
- lib/rails_attr_enum/enum.rb
Instance Method Summary collapse
- #add(entry) ⇒ Object
- #attr_name ⇒ Object
- #get_key(value) ⇒ Object
- #get_label(value) ⇒ Object
- #init_enum(attr_name) ⇒ Object
- #keys ⇒ Object
- #label_value_pairs ⇒ Object
- #labels ⇒ Object
- #values ⇒ Object
Instance Method Details
#add(entry) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/rails_attr_enum/enum.rb', line 17 def add(entry) const_name = entry[:key].to_s.upcase const_set(const_name, entry[:value]) const_set("#{const_name}_LABEL", entry[:label]) @entries << entry end |
#attr_name ⇒ Object
36 |
# File 'lib/rails_attr_enum/enum.rb', line 36 def attr_name; @attr_name end |
#get_key(value) ⇒ Object
32 33 34 |
# File 'lib/rails_attr_enum/enum.rb', line 32 def get_key(value) get_from_entries(:key, value) end |
#get_label(value) ⇒ Object
28 29 30 |
# File 'lib/rails_attr_enum/enum.rb', line 28 def get_label(value) get_from_entries(:label, value) end |
#init_enum(attr_name) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/rails_attr_enum/enum.rb', line 10 def init_enum(attr_name) return if @init @attr_name = attr_name @entries = [] @init = true end |
#keys ⇒ Object
37 |
# File 'lib/rails_attr_enum/enum.rb', line 37 def keys; mapped(:key) end |
#label_value_pairs ⇒ Object
24 25 26 |
# File 'lib/rails_attr_enum/enum.rb', line 24 def label_value_pairs labels.zip values end |
#labels ⇒ Object
39 |
# File 'lib/rails_attr_enum/enum.rb', line 39 def labels; mapped(:label) end |
#values ⇒ Object
38 |
# File 'lib/rails_attr_enum/enum.rb', line 38 def values; mapped(:value) end |