class Geokit::Geocoders::IpstackGeocoder
Provides geocoding based upon an IP address. The underlying web service is ipstack, old freegeoip.net
Private Class Methods
do_geocode(ip, _options = nil)
click to toggle source
# File lib/geokit/geocoders/ipstack.rb, line 10 def self.do_geocode(ip, _options = nil) process :json, ip end
parse_json(result)
click to toggle source
# File lib/geokit/geocoders/ipstack.rb, line 18 def self.parse_json(result) loc = new_loc return loc if result['success'] == false loc.city = result['city'] loc.state_code = result['region_code'] loc.state_name = result['region_name'] loc.zip = result['zip'] loc.lat = result['latitude'] loc.lng = result['longitude'] loc.country_code = result['country_code'] loc.country = result['country_name'] loc.success = !loc.country_code.nil? loc end
submit_url(ip)
click to toggle source
# File lib/geokit/geocoders/ipstack.rb, line 14 def self.submit_url(ip) "http://api.ipstack.com/#{ip}?access_key=#{api_key}" end