class Geokit::Geocoders::IpApiGeocoder
Provides geocoding based upon an IP address. The underlying web service is ip-api.com
Private Class Methods
do_geocode(ip, _=nil)
click to toggle source
# File lib/geokit/geocoders/ip_api_geocoder.rb, line 7 def self.do_geocode(ip, _=nil) process :json, ip end
parse_json(result)
click to toggle source
# File lib/geokit/geocoders/ip_api_geocoder.rb, line 15 def self.parse_json(result) loc = new_loc return loc unless result['status'] == 'success' loc.success = true loc.city = result['city'] loc.state = result['region'] loc.state_name = result['regionName'] loc.zip = result['zip'] loc.lat = result['lat'] loc.lng = result['lon'] loc.country_code = result['countryCode'] loc end
submit_url(ip)
click to toggle source
# File lib/geokit/geocoders/ip_api_geocoder.rb, line 11 def self.submit_url(ip) "http://ip-api.com/json/#{ip}" end