Attributes
| [R] | geodata | |
| [R] | ip |
Class Public methods
for(ip) Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 13 def self.for(ip) new(ip).to_h end
new(ip) Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 19 def initialize(ip) @ip = ip @geodata = geocode_ip || {} end
Instance Public methods
city() Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 28 def city geodata.dig("city", "names", "en") end
country() Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 40 def country geodata.dig("country", "iso_code") end
latitude() Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 44 def latitude geodata.dig("location", "latitude") end
longitude() Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 48 def longitude geodata.dig("location", "longitude") end
state() Link
Source: show
# File app/models/concerns/analytics/locationable.rb, line 32 def state geodata.fetch("subdivisions", []).first&.dig("iso_code") end