class Geocoder::Result::Geoip2
Public Class Methods
response_attributes()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 43 def self.response_attributes %w[ip] end
Public Instance Methods
city()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 13 def city fetch_name( data.fetch('city', {}).fetch('names', {}) ) end
coordinates()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 7 def coordinates %w[latitude longitude].map do |l| data.fetch('location', {}).fetch(l, 0.0) end end
country()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 29 def country fetch_name( data.fetch('country', {}).fetch('names', {}) ) end
country_code()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 35 def country_code data.fetch('country', {}).fetch('iso_code', '') end
data()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 61 def data @data.to_hash end
language()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 57 def language @language ||= default_language end
language=(l)
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 53 def language=(l) @language = l.to_s end
postal_code()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 39 def postal_code data.fetch('postal', {}).fetch('code', '') end
state()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 19 def state fetch_name( data.fetch('subdivisions', []).fetch(0, {}).fetch('names', {}) ) end
state_code()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 25 def state_code data.fetch('subdivisions', []).fetch(0, {}).fetch('iso_code', '') end
Private Instance Methods
default_language()
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 67 def default_language @default_language = Geocoder.config[:language].to_s end
fetch_name(names)
click to toggle source
# File lib/geocoder/results/geoip2.rb, line 71 def fetch_name(names) names[language] || names[default_language] || '' end