Class: ActiveEnumeration::Base
- Inherits:
-
Object
- Object
- ActiveEnumeration::Base
- Defined in:
- lib/active_enumeration/base.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.all ⇒ Object
21 22 23 |
# File 'lib/active_enumeration/base.rb', line 21 def self.all @active_enumeration_values.keys.map { |id| self.find(id) } end |
.count ⇒ Object
25 26 27 |
# File 'lib/active_enumeration/base.rb', line 25 def self.count @active_enumeration_values.count end |
.find(id) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/active_enumeration/base.rb', line 6 def self.find(id) id = id.to_i @instances ||= {} unless @instances[id] || !@active_enumeration_values[id] @instances[id] = self.new *@active_enumeration_values[id] end @instances[id] end |
.to_a ⇒ Object
29 30 31 |
# File 'lib/active_enumeration/base.rb', line 29 def self.to_a all.map { |e| [e.to_s, e.instance_variable_get("@active_enumeration_id")] } end |
.where(filters) ⇒ Object
15 16 17 18 19 |
# File 'lib/active_enumeration/base.rb', line 15 def self.where(filters) self.all.select do |enum| filters.keys.all? { |k| enum.send(k) == filters[k] } end end |
Instance Method Details
#symbol ⇒ Object
33 34 35 |
# File 'lib/active_enumeration/base.rb', line 33 def symbol self.instance_variable_get("@symbol") end |