Sha256: 9391e0b53dba56263023e1ab134a1e4bdeb899d05e5d814d85518d93f96067cf
Contents?: true
Size: 908 Bytes
Versions: 24
Compression:
Stored size: 908 Bytes
Contents
require 'geocoder/lookups/base' require 'geocoder/results/ipinfo_io' module Geocoder::Lookup class IpinfoIo < Base def name "Ipinfo.io" end private # --------------------------------------------------------------- def base_query_url(query) url = "#{protocol}://ipinfo.io/#{query.sanitized_text}/geo" url << "?" if configuration.api_key url end def results(query) # don't look up a loopback or private address, just return the stored result return [reserved_result(query.text)] if query.internal_ip_address? if !(doc = fetch_data(query)).is_a?(Hash) or doc['error'] [] else [doc] end end def reserved_result(ip) { "ip" => ip, "bogon" => true } end def query_url_params(query) { token: configuration.api_key }.merge(super) end end end
Version data entries
24 entries across 24 versions & 2 rubygems