Class: Enum

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/enum.rb

Overview

Enum

Defined Under Namespace

Classes: Enumeration

Constant Summary collapse

VERSION =
'1.0.0'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#idObject (readonly) Also known as: ordinal

Returns the value of attribute id.



22
23
24
# File 'lib/enum.rb', line 22

def id
  @id
end

Class Method Details

.eachObject



51
52
53
54
55
# File 'lib/enum.rb', line 51

def each
  values.each do |value|
	yield value
  end
end

.fieldsObject



44
45
46
# File 'lib/enum.rb', line 44

def fields
  @fields ||= []
end

.find(id) ⇒ Object



48
49
50
# File 'lib/enum.rb', line 48

def find id
  values[id]
end

.next_ordinalObject



60
61
62
63
64
# File 'lib/enum.rb', line 60

def next_ordinal
  o = @next_ordinal ||= 0
  @next_ordinal = o + step
  o
end

.saveObject



56
57
# File 'lib/enum.rb', line 56

def save
end

.save!Object



58
59
# File 'lib/enum.rb', line 58

def save!
end

.valuesObject Also known as: all



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

def values
  @values ||= []
end

Instance Method Details

#<=>(other) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/enum.rb', line 24

def <=> other
  if self.class == other.class
    ordinal <=> other.ordinal
  else
    nil
  end
end

#inspectObject



37
# File 'lib/enum.rb', line 37

def inspect;"#{self.class}::#{to_sym}";end

#saveObject



38
# File 'lib/enum.rb', line 38

def save;end

#save!Object



39
# File 'lib/enum.rb', line 39

def save!;end

#to_fObject



36
# File 'lib/enum.rb', line 36

def to_f;@id.to_f;end

#to_iObject



35
# File 'lib/enum.rb', line 35

def to_i;@id;end

#to_sObject Also known as: name, title



32
# File 'lib/enum.rb', line 32

def to_s;@name;end

#to_symObject



31
# File 'lib/enum.rb', line 31

def to_sym;@sym;end