Project

yandex-api

0.02
No commit activity in last 3 years
No release in over 3 years
Yandex.API integration
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
>= 0
 Project Readme

Yandex::API

Gem Version

Allow you work with any Yandex.APIs

Modules:

Installation

Add this line to your application's Gemfile:

gem 'yandex-api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install yandex-api

Direct

Ruby:

Create configuration file yandex_direct.yml

token: token
login: login
locale: ru
verbose: true
sandbox: true

Ruby On Rails:

Create configuration file yandex_direct.yml

development:
    token: token
    login: login
    locale: ru
    verbose: true
    sandbox: true

Create yandex_direct.rb in config/initializers

Yandex::API::Direct.load File.join(Rails.root,"config","yandex_direct.yml"), Rails.env

Simple example:

require 'yandex-api'
Yandex::API::Direct.load "yandex_direct.yml"

campaign = Yandex::API::Direct::CampaignInfo.list.first
puts campaign.inspect
puts campaign.banners.first.inspect

Translate

Ruby:

Create configuration file yandex_translate.yml

token: "token"
ui: true
verbose: true

Ruby On Rails:

Create configuration file yandex_translate.yml

development:
    token: "token"
    ui: "ru"
    verbose: true

Create yandex_translate.rb in config/initializers

Yandex::API::Translate.load File.join(Rails.root,"config","yandex_translate.yml"), Rails.env

Simple example

require 'yandex-api'
Yandex::API::Translate.load "yandex.yml", "production"

puts Yandex::API::Translate.languages.inspect
puts Yandex::API::Translate.detect('test').inspect
puts Yandex::API::Translate.do('Hello GitHub', 'ru').inspect

Disk

Create configuration file yandex_disk.yml

token: "token"
verbose: true

Ruby On Rails:

Create configuration file yandex_disk.yml

development:
    token: "token"
    verbose: true

Simple example

require 'yandex-api'
Yandex::API::Disk.load "yandex_disk.yml", "production"

include Yandex::API::Disk

storage = Storage.new
puts "Storage:\n\ttrash: #{storage.trash_size} bytes\n\ttotal: #{storage.total_space} bytes\n\tused: #{storage.used_space} bytes"
Storage.upload(File.open('foo'), 'disk:/bar')
Storage.move('disk:/bar', 'disk:/foo')
Storage.rm('disk:/foo')
Storage.clean('disk:/foo')

Storage class has methods

Storage.rm(path)            # remove directory
Storage.write(file, path)   # upload file to path
Storage.move(from, to)      # move file from -> to
Storage.copy(from, to)      # copy file form -> to
Storage.clean(path)         # clean trash (if path nil, clena all)
Storage.mkdir(path)         # create directory
Storage.exists?(path)       # existing path or not?

Contributing

  1. Fork it ( https://github.com/jpascal/yandex-api/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request