IPGeoBase¶ ↑
Russia and Ukraine geoip lookup with DB from ipgeobase.ru for Mongoid 3/4
WARNING: 1.0 breaks backward compatibility. For mongoid 2 use ~> 0
Гем для работы с архивом с сайта ipgeobase.ru, содержащим базу местонахождений российских и украинских ip-адресов (с точностью до города) для MongoDB (Mongoid 3/4).
Installation¶ ↑
Add to Gemfile:
gem "rs_ipgeobase_mongoid"
Install required gems:
bundle install
Upload new database¶ ↑
-
Update cities and regions. Downloads file if it’s not present in tmp/cities.txt
rake ipgeobase:cities
-
city id’s are not changed on DB update and can be used as foreign keys
-
Update geo ips. Downloads file if it’s not present in tmp/cidr_optim.txt
rake ipgeobase:ips
Methods¶ ↑
Search for city by IP (Russia and Ukraine only):
После того, как выполнены все предыдущие шаги можно искать город по IP адресу.
Работает только для РФ и Украины. Если город не найден, метод вернет nil.
> geo = Ipgeobase::find_region_by_ip('95.170.177.170') > pp geo => #<Ipgeobase::City _id: 5059d68ee779891c72000201, _type: nil, geo_id: 1428, city: "Красноярск", region: "Красноярский край", district: "Сибирский федеральный округ", lat: 56.001251, lon: 92.88559, country_id: BSON::ObjectId('5059d68de779891c72000001')> > geo.city => "Красноярск" > geo.region => "Красноярский край" > geo.district => "Сибирский федеральный округ" > geo.country.name => "Россия" > geo.country.code => "RU"