class ReeEnum::BaseEnumMapper

def db_dump(value)

def db_dump(value)
  value.mapped_value
end

def db_load(value)

def db_load(value)
  enum_val = @enum.get_values.by_mapped_value(value)
  if !enum_val
    raise ReeMapper::CoercionError.new("should be one of #{enum_inspection}, got `#{truncate(value.inspect)}`")
  end
  enum_val
end

def enum_inspection

def enum_inspection
  @enum_inspection ||= truncate(@enum.get_values.each.map(&:to_s).inspect)
end

def initialize(enum)

def initialize(enum)
  @enum = enum
end