class JDX::Geocoder::IpApi
Public Class Methods
new(term)
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 8 def initialize(term) @term = term end
Public Instance Methods
address()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 24 def address "#{city}, #{state_code} #{postal_code}, #{country}".sub(/^[ ,]*/, '') end
city()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 12 def city data['city'] end
coordinates()
click to toggle source
coordinate order is longitude, latitude
# File lib/jdx/geocoder/ip_api.rb, line 49 def coordinates [longitude, latitude] end
country()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 16 def country data['country'] end
country_code()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 20 def country_code data['countryCode'] end
latitude()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 36 def latitude data['lat'] end
longitude()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 40 def longitude data['lon'] end
postal_code()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 44 def postal_code data['zip'] end
state()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 28 def state data['regionName'] end
state_code()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 32 def state_code data['region'] end
Private Instance Methods
cache_redis()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 76 def cache_redis @cache_redis ||= Geocoder.configuration.ip_cache_db end
handle_response()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 63 def handle_response response = typhoeus_get if response.success? data = parse_json(response.body) return [true, data] if data['status'] == 'success' blacklist_term else handle_request_error(response) end false end
ipapi_key()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 80 def ipapi_key @ipapi_key ||= Geocoder.configuration.ipapi_key end
serialize_data(response_data)
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 59 def serialize_data(response_data) response_data end
url()
click to toggle source
# File lib/jdx/geocoder/ip_api.rb, line 55 def url "https://pro.ip-api.com/json/#{escape_term}?key=#{ipapi_key}" end