module TypedEnum::TypedEnumClassMethods
Public Instance Methods
_load(str)
click to toggle source
# File lib/typed_enum.rb, line 61 def _load(str) parse(str.to_sym) end
from_name(sym)
click to toggle source
# File lib/typed_enum.rb, line 48 def from_name(sym) inverse_map[sym.to_sym] or raise NameError.new("No mapping for symbol #{sym} to vertical") end
init()
click to toggle source
# File lib/typed_enum.rb, line 66 def init if !@initialized @initialized = true @@values = @enum.call else raise "Attempt to re-initialize typed enum #{self.class}" end end
parse(token)
click to toggle source
# File lib/typed_enum.rb, line 52 def parse(token) sym = token.to_sym from_symbol(sym) end
values()
click to toggle source
# File lib/typed_enum.rb, line 57 def values @@values end
Private Instance Methods
inverse_map()
click to toggle source
# File lib/typed_enum.rb, line 77 def inverse_map @@inverse_map ||= values.inject({}) { |m, v| m[v.name] = v; m } end