class ActiveRecord::ConnectionAdapters::PostgreSQL::OID::LegacyPoint

:nodoc:
:nodoc:

def cast(value)

def cast(value)
  case value
  when ::String
    if value.start_with?("(") && value.end_with?(")")
      value = value[1...-1]
    end
    cast(value.split(","))
  when ::Array
    value.map { |v| Float(v) }
  else
    value
  end
end

def number_for_point(number)

def number_for_point(number)
  number.to_s.delete_suffix(".0")
end

def serialize(value)

def serialize(value)
  if value.is_a?(::Array)
    "(#{number_for_point(value[0])},#{number_for_point(value[1])})"
  else
    super
  end
end

def type

def type
  :point
end