class Cot::Enum
Attributes
num[RW]
used[RW]
Public Class Methods
new()
click to toggle source
# File lib/cot/enum.rb, line 4 def initialize @used = {} @num = 1 end
Public Instance Methods
[](key)
click to toggle source
# File lib/cot/enum.rb, line 23 def [](key) public_send key end
entry(name, options = {})
click to toggle source
# File lib/cot/enum.rb, line 9 def entry(name, options = {}) value = options[:value] || num if used.key? value fail "#{name} tried to set value #{value}, which is already used by #{used[value]}. Enum values are unique." end self.class.__send__ :define_method, name do value end @num = value + 1 used[value] = name end