class EacRubyUtils::Enum
def enum(key, *args, &block)
def enum(key, *args, &block) value = Value.new(self, key, args, &block) raise ::ArgumentError, "#{self} already has a value with key=#{value.key}" if value_set.include?(value) value_set << value.apply self end