class ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Point

def cast(value)

def cast(value)
  case value
  when ::String
    return if value.blank?
    if value.start_with?("(") && value.end_with?(")")
      value = value[1...-1]
    end
    x, y = value.split(",")
    build_point(x, y)
  when ::Array
    build_point(*value)
  when ::Hash
    return if value.blank?
    build_point(*values_array_from_hash(value))
  else
    value
  end
end