Class: Wijet::SimpleEnumerations::EnumerationString::Enumeration

Inherits:
String
  • Object
show all
Defined in:
lib/simple_enumerations/simple_enumerations.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value = "") ⇒ Enumeration

Returns a new instance of Enumeration.



29
30
31
# File 'lib/simple_enumerations/simple_enumerations.rb', line 29

def initialize(value = "")
  super(value)
end

Class Method Details

.[](name) ⇒ Object

Raises:

  • (ArgumentError)


40
41
42
43
# File 'lib/simple_enumerations/simple_enumerations.rb', line 40

def [](name)
  raise ArgumentError, "Enumeration '#{name}' doesn't exist" unless all.has_key?(name.to_s)
  all[name.to_s]
end

.allObject



45
46
47
48
49
# File 'lib/simple_enumerations/simple_enumerations.rb', line 45

def all
  Rails.cache.fetch('_simple_enumerations_') do
    YAML::load(File.read(File.join(RAILS_ROOT, 'config', 'enumerations.yml')))
  end
end

.setupObject



34
35
36
37
38
# File 'lib/simple_enumerations/simple_enumerations.rb', line 34

def setup
  all.values.flatten.uniq.each do |value|
    define_method("#{value.gsub(/[^[:alnum:]]/, '_')}?") { self == value }
  end unless all.blank?
end

Instance Method Details

#==(object) ⇒ Object



52
53
54
# File 'lib/simple_enumerations/simple_enumerations.rb', line 52

def ==(object)
  super(object.to_s)
end