module ReeEnum::Enumerable::ClassMethods
def val(value, number, label = nil)
def val(value, number, label = nil) if value == :new raise ArgumentError.new(":new is not allowed as enum value") end enum_value = values.add(value, number: number, label: label) define_method "#{enum_value.value}" do by_value(enum_value.value) end define_singleton_method "#{enum_value.value}" do by_value(enum_value.value) end enum_value end