class ElasticActivities::GeoLocation
Attributes
as[RW]
city[RW]
country[RW]
country_code[RW]
geo_points[RW]
ip_address[R]
isp[RW]
org[RW]
region[RW]
region_name[RW]
timezone[RW]
zip[RW]
Public Class Methods
new(args={})
click to toggle source
# File lib/elastic_activities/geo_location.rb, line 5 def initialize(args={}) @ip_address = args[:ip] == '127.0.0.1' ? '' : args[:ip] end
Public Instance Methods
get_details()
click to toggle source
# File lib/elastic_activities/geo_location.rb, line 9 def get_details data = `curl -XGET http://ip-api.com/json/#{ip_address}` json_data = JSON.parse(data) @as = json_data['as'] @city = json_data['city'] @country = json_data['country'] @country_code = json_data['countryCode'] @isp = json_data['isp'] @org = json_data['org'] @region = json_data['region'] @region_name = json_data['regionName'] @timezone = json_data['timezone'] @zip = json_data['zip'] @geo_points = { lat: json_data['lat'], lon: json_data['lon'] } end