class Geocoder::Lookup::Pointpin

def results(query)

def results(query)
  # don't look up a loopback address, just return the stored result
  return [] if query.loopback_ip_address?
  doc = fetch_data(query)
  if doc and doc.is_a?(Hash)
    if !data_contains_error?(doc)
      return [doc]
    elsif doc['error']
      case doc['error']
      when "Invalid IP address"
        raise_error(Geocoder::InvalidRequest) || warn("Invalid Pointpin request.")
      when "Invalid API key"
        raise_error(Geocoder::InvalidApiKey) || warn("Invalid Pointpin API key.")
      when "Address not found"
        warn("Address not found.")
      end
    else
      raise_error(Geocoder::Error) || warn("Pointpin server error")
    end
  end
  
  return []
end