Class: DataMapper::Shim::Enum

Inherits:
Object
  • Object
show all
Defined in:
lib/data_mapper/shim.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Enum

Returns a new instance of Enum.



32
33
34
35
36
37
38
39
# File 'lib/data_mapper/shim.rb', line 32

def initialize(values)
  # [:active, :inactive] => { :active => 1, :inactive => 2, 1 => :active, 2 => :inactive }
  self.values = values.each_with_index.inject({}) do |hash, (val, i)|
    hash[val] = i + 1
    hash[i + 1] = val
    hash
  end
end

Instance Attribute Details

#valuesObject

Returns the value of attribute values.



26
27
28
# File 'lib/data_mapper/shim.rb', line 26

def values
  @values
end

Class Method Details

.[](*values) ⇒ Object



28
29
30
# File 'lib/data_mapper/shim.rb', line 28

def self.[](*values)
  self.new(values)
end

Instance Method Details

#[](index) ⇒ Object



41
42
43
# File 'lib/data_mapper/shim.rb', line 41

def [](index)
  self.values[index]
end