class ReeEnum::Value

def ==(compare)

def ==(compare)
  if compare.is_a?(self.class)
    value == compare.value
  elsif compare.is_a?(Symbol)
    value == compare.to_s
  elsif compare.is_a?(String)
    value == compare || mapped_value == compare
  elsif compare.is_a?(Integer)
    mapped_value == compare
  else
    false
  end
end

def as_json(*args)

def as_json(*args)
  to_s
end

def initialize(enum_class, enum_name, value, mapped_value, method)

def initialize(enum_class, enum_name, value, mapped_value, method)
  @enum_class = enum_class
  @enum_name = enum_name
  @value = value
  @method = method
  @mapped_value = mapped_value
end

def inspect

def inspect
  "#{enum_class.name}##{value}"
end

def to_s

def to_s
  value
end

def to_sql

def to_sql
  mapped_value
end