Sha256: 6bdf1c9663f9e150a19abfb8dd4d1e36467483edeeb995265e0c3ce46754cef8
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
require 'geocoder/lookups/base' require 'geocoder/results/ip_address_labs' require 'csv' module Geocoder::Lookup class IpAddressLabs < Base def name "IpAddressLabs" end def query_url(query) "#{protocol}://api.ipaddresslabs.com/iplocation/v1.7/locateip?key=#{configuration[:api_key]}&ip=#{query}&format=JSON" end def reserved_result { "city" => "New York", "region_code" => "NY", "latitude" => 40.7127837, "longitude" => -74.0059413 } end private # --------------------------------------------------------------- def results(query) # don't look up a loopback address, just return the stored result return [reserved_result] if query.loopback_ip_address? doc = fetch_data(query) status = doc["query_status"]["query_status_code"] message = doc["query_status"]["query_status_description"] if status == "OK" return [ doc["geolocation_data"] ] else warn("IP Address Labs API Error: #{message}") [] end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bw-geocoder-1.2.6 | lib/geocoder/lookups/ip_address_labs.rb |
bw-geocoder-1.2.5 | lib/geocoder/lookups/ip_address_labs.rb |