class ReeEnum::Value
def <=>(other)
def <=>(other) if other.is_a?(self.class) @number <=> other.number elsif other.is_a?(Symbol) @value == other elsif other.is_a?(Integer) @number == other else raise ArgumentError.new("unable to compare ReeEnum::Value with other classes") end end
def ==(compare)
def ==(compare) if compare.is_a?(self.class) @value == compare.value else @value == compare || @number == compare end end
def as_json(*args)
def as_json(*args) to_s end
def initialize(enum_class, enum_name, value, number, label)
def initialize(enum_class, enum_name, value, number, label) @enum_class = enum_class @enum_name = enum_name @value = value @label = label @number = number end
def inspect
def inspect "#{enum_class.name}##{@value.to_s}" end
def label
def label @label end
def to_i
def to_i @number end
def to_s
def to_s @value.to_s end
def to_sym
def to_sym @value end