Class: ActiveEnum::Base
- Inherits:
-
Object
- Object
- ActiveEnum::Base
- Defined in:
- lib/active_enum/base.rb
Class Method Summary collapse
- .[](index) ⇒ Object
- .all ⇒ Object
- .ids ⇒ Object
- .inherited(subclass) ⇒ Object
- .names ⇒ Object
-
.order(order) ⇒ Object
order enum values using :asc or :desc.
- .to_select ⇒ Object
-
.value(enum_value = {}) ⇒ Object
:id => 1, :title => ‘Foo’ :title => ‘Foo’.
Class Method Details
.[](index) ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/active_enum/base.rb', line 47 def [](index) if index.is_a?(Fixnum) row = lookup_by_id(index) row[1] if row else row = lookup_by_name(index) row[0] if row end end |
.all ⇒ Object
31 32 33 |
# File 'lib/active_enum/base.rb', line 31 def all @values || [] end |
.ids ⇒ Object
35 36 37 |
# File 'lib/active_enum/base.rb', line 35 def ids @values.map {|v| v[0] } end |
.inherited(subclass) ⇒ Object
8 9 10 |
# File 'lib/active_enum/base.rb', line 8 def inherited(subclass) ActiveEnum.enum_classes << subclass end |
.names ⇒ Object
39 40 41 |
# File 'lib/active_enum/base.rb', line 39 def names @values.map {|v| v[1] } end |
.order(order) ⇒ Object
order enum values using :asc or :desc
27 28 29 |
# File 'lib/active_enum/base.rb', line 27 def order(order) @order = order end |
.to_select ⇒ Object
43 44 45 |
# File 'lib/active_enum/base.rb', line 43 def to_select @values.map {|v| [v[1], v[0]] } end |
.value(enum_value = {}) ⇒ Object
:id => 1, :title => ‘Foo’ :title => ‘Foo’
15 16 17 18 19 20 21 22 23 |
# File 'lib/active_enum/base.rb', line 15 def value(enum_value={}) @values ||= [] id = enum_value[:id] || next_id check_duplicate(id, enum_value[:name]) @values << [id, enum_value[:name]] sort_values! end |