README.ru.md in vkontakte_api-0.1 vs README.ru.md in vkontakte_api-0.2

- old
+ new

@@ -1,6 +1,6 @@ -# vkontakte_api +# vkontakte_api [![Build Status](https://secure.travis-ci.org/7even/vkontakte_api.png)](http://travis-ci.org/7even/vkontakte_api) `vkontakte_api` - ruby-обертка для API ВКонтакте. Она позволяет вызывать методы API настолько просто, насколько это возможно. Это русская версия readme. Английская версия лежит [здесь](https://github.com/7even/vkontakte_api/blob/master/README.md). @@ -18,13 +18,19 @@ VkontakteApi.configure do |config| config.adapter = :net_http end ``` -Все запросы к API отправляются через объект класса `VkontakteApi::Client`. Чтобы создать его, нужно просто передать в конструктор токен доступа. +Все запросы к API отправляются через объект класса `VkontakteApi::Client`. ``` ruby +@app = VkontakteApi::Client.new +``` + +Чтобы создать клиент для отправки авторизованных запросов, нужно просто передать в конструктор токен доступа. + +``` ruby @app = VkontakteApi::Client.new('my_access_token') ``` Пожалуй, самый простой способ получить токен в веб-приложении - использовать [OmniAuth](https://github.com/intridea/omniauth), но если это неприемлемо, можно реализовать свой механизм авторизации. На данный момент `vkontakte_api` не умеет получать токен. @@ -45,24 +51,31 @@ Теперь о параметрах. Все параметры именованные, и передаются в методы в виде хэша, где ключи соответствуют названиям параметров, а значения - соответственно, их значениям: ``` ruby @app.friends.get(fields: 'uid,first_name,last_name') -# => [ - { - :uid => "1", - :first_name => "Павел", - :last_name => "Дуров" - }, - { - :uid => "6492", - :first_name => "Andrew", - :last_name => "Rogozov" - } -] +# => [ +# { +# :uid => "1", +# :first_name => "Павел", +# :last_name => "Дуров" +# }, +# { +# :uid => "6492", +# :first_name => "Andrew", +# :last_name => "Rogozov" +# } +# ] ``` +Если значение параметра - список, разделенный запятыми, то его можно передать в виде массива; он будет корректно обработан перед отправкой запроса: + +``` ruby +users_ids = [1, 6492] +@app.users.get(uids: users_ids) # => тот же вывод, что и выше +``` + Также следует заметить, что все возвращаемые хэши имеют символьные ключи. Если результат метода - Enumerable, то методу можно передать блок, который будет вызван для каждого элемента результата. В этом случае метод вернет массив из результатов выполнения блока с каждым элементом (аналогично `Enumerable#map`): ``` ruby @@ -81,13 +94,18 @@ ``` ruby @app.audio.get_by_id # => VkontakteApi::Error: VKontakte returned an error 1: 'Unknown error occured' after calling method 'audio.getById' with parameters {}. ``` +## Changelog + +* 0.1 Первая стабильная версия +* 0.2 Поддержка аргументов-массивов, подчищенные неавторизованные запросы, обновленный список пространств имен, документация кода + ## Планы * Авторизация (получение токена доступа с ВКонтакте) -* Документация RDoc +* Возможно, Struct-подобные объекты в результатах запросов (вместо Hash) ## Участие в разработке Если вы хотите поучаствовать в разработке проекта, форкните репозиторий, положите свои изменения в отдельную ветку и отправьте мне pull request.