class Geocoder::Lookup::Freegeoip

def query_url(query, reverse = false)

def query_url(query, reverse = false)
  "http://freegeoip.net/json/#{query}"
end

def reserved_result(ip)

def reserved_result(ip)
  {
    "ip"           => ip,
    "city"         => "",
    "region_code"  => "",
    "region_name"  => "",
    "metrocode"    => "",
    "zipcode"      => "",
    "latitude"     => "0",
    "longitude"    => "0",
    "country_name" => "Reserved",
    "country_code" => "RD"
  }
end

def results(query, reverse = false)

def results(query, reverse = false)
  # don't look up a loopback address, just return the stored result
  return [reserved_result(query)] if loopback_address?(query)
  begin
    return [fetch_data(query, reverse)]
  rescue StandardError # Freegeoip.net returns HTML on bad request
    return []
  end
end