Newer
Older
require 'geocoder/lookups/base'
require 'geocoder/results/telize'
module Geocoder::Lookup
class Telize < Base
def name
"Telize"
end
def query_url(query)
#currently doesn't support HTTPS
"http://www.telize.com/geoip/#{query.sanitized_text}"
end
private # ---------------------------------------------------------------
def results(query)
# don't look up a loopback address, just return the stored result
return [reserved_result(query.text)] if query.loopback_ip_address?
# note: Telize returns json with a code attribute of 401 on bad request
doc = fetch_data(query)
(doc && doc['code'] == 401) ? [] : [doc]
end
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 host
configuration[:host] || "telize.net"
end
end
end