Sha256: 50e6c852ab002b13fec61e1697f57e6704f93ff944b31fd2f40492369ccbfb0b
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true module JDX module Geocoder class IpApi include Base def initialize(term) @term = term end def city data['city'] end def country data['country'] end def country_code data['countryCode'] end def address "#{city}, #{state_code} #{postal_code}, #{country}".sub(/^[ ,]*/, '') end def state data['regionName'] end def state_code data['region'] end def latitude data['lat'] end def longitude data['lon'] end def postal_code data['zip'] end # coordinate order is longitude, latitude def coordinates [longitude, latitude] end private def url "https://pro.ip-api.com/json/#{escape_term}?key=#{ipapi_key}" end def serialize_data(response_data) response_data end 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 def cache_redis @cache_redis ||= Geocoder.configuration.ip_cache_db end def ipapi_key @ipapi_key ||= Geocoder.configuration.ipapi_key end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
jdx-geocoder-0.1.1 | lib/jdx/geocoder/ip_api.rb |
jdx-geocoder-0.1.0 | lib/jdx/geocoder/ip_api.rb |