Skip to content

Ruby gem for Yandex locator api. Finds mobile devices in a region delineated by a circle

Notifications You must be signed in to change notification settings

sergey-chechaev/yandex_locator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gem Build Status Code Climate Dependency Status Coverage Status

YandexLocator

Ruby gem for Yandex locator (https://tech.yandex.ru/locator/). Yandex locator is a service that finds mobile devices in a region delineated by a circle. The service returns longitude, latitude and precision.

Yandex locator can lookup by IP, wifi networks, gsm cells

Installation

Add this line to your application's Gemfile:

gem 'yandex_locator'

And then execute:

$ bundle

Or install it yourself as:

$ gem install yandex_locator

Usage

Configure gem credentials

 YandexLocator.configure do |config|
   config.api_key = 'api key'
   config.version = '1.0'
 end

or

  client = YandexLocator::Client.new(api_key: 'api key', version: '1.0')
  client.lookup(ip: { address_v4: '178.247.233.3' })

Make request

  client = YandexLocator::Client.new(api_key: 'api key', version: '1.0')
  result = client.lookup(ip: { address_v4: '178.247.233.3' })
  result.position
  # => {"altitude"=>0.0, "altitude_precision"=>30.0, "latitude"=>41.00892639160156, "longitude"=>28.96711158752441, "precision"=>100000.0, "type"=>"ip"}
  result = client.lookup(
    wifi_networks: [{
      mac: 'ec:43:f6:d1:a2:1e'
    }],
    gsm_cells: [{
      countrycode: 250,
      operatorid: 99,
      cellid: 12_082,
      lac: 25_254
    }],
    ip: {
      address_v4: '178.247.233.3'
    }
  )
  result.position
  # => {"altitude"=>0.0, "altitude_precision"=>30.0, "latitude"=>56.87141036987305, "longitude"=>60.61107635498047, "precision"=>1066.041137695312, "type"=>"gsm"}

Location Handle

  result = client.lookup(ip: '176.69.53.253')
  if result.position
    # do thangs....
  else
    p result.error['text']
  end

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/sergey-chechaev/yandex_locator.

About

Ruby gem for Yandex locator api. Finds mobile devices in a region delineated by a circle

Resources

Stars

Watchers

Forks

Packages

No packages published