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.