От Геокодер GitHub :
Геокодер добавляет location
и safe_location
методы к стандартному объекту Rack :: Request , чтобы вы могли легконайдите местоположение любого HTTP-запроса по IP-адресу.Например, в контроллере Rails или приложении Sinatra:
# returns Geocoder::Result object
result = request.location
location
пример хеша:
{
"data"=>{
"ip"=>"213.174.0.254",
"city"=>"Lviv",
"latitude"=>49.8383,
"zip_code"=>"79000",
"longitude"=>24.0232,
"time_zone"=>"Europe/Kiev",
"metro_code"=>0,
"region_code"=>"46",
"region_name"=>"L'vivs'ka Oblast'",
"country_code"=>"UA",
"country_name"=>"Ukraine"
},
"cache_hit"=>nil
}