diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f7f1c3..a395aa6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.4 (11.05.2014) + +* Совместимость с `faraday 0.9` +* Глобальное указание версии API + ## 1.3.1 (14.11.2013) * Пространство имен `database` (спасибо [umka](https://github.com/umka)) diff --git a/README.md b/README.md index e25d7f9..36d73ff 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ``` ruby # Gemfile -gem 'vkontakte_api', '~> 1.3' +gem 'vkontakte_api', '~> 1.4' ``` или просто @@ -188,13 +188,19 @@ vk.friends.get(uid: 1, fields: [:first_name, :last_name, :photo]) # VkontakteApi::Error: VKontakte returned an error 7: 'Permission to perform this action is denied' after calling method 'friends.get' with parameters {"uid"=>"1", "fields"=>"first_name,last_name,photo"}. ``` -Особый случай ошибки - 14: необходимо ввести код с captcha. В этом случае можно получить параметры капчи методами `VkontakteApi::Error#captcha_sid` и `VkontakteApi::Error#captcha_img` - например, [так](https://github.com/7even/vkontakte_api/issues/10#issuecomment-11666091). +Особый случай ошибки - 14: необходимо ввести код с captcha. +В этом случае можно получить параметры капчи методами +`VkontakteApi::Error#captcha_sid` и `VkontakteApi::Error#captcha_img` - например, +[так](https://github.com/7even/vkontakte_api/issues/10#issuecomment-11666091). ### Логгирование -`vkontakte_api` логгирует служебную информацию о запросах при вызове методов. По умолчанию все пишется в `STDOUT`, но в настройке можно указать любой другой совместимый логгер, например `Rails.logger`. +`vkontakte_api` логгирует служебную информацию о запросах при вызове методов. +По умолчанию все пишется в `STDOUT`, но в настройке можно указать +любой другой совместимый логгер, например `Rails.logger`. -Есть возможность логгирования 3 типов информации, каждому соответствует ключ в глобальных настройках. +Есть возможность логгирования 3 типов информации, +каждому соответствует ключ в глобальных настройках. | | ключ настройки | по умолчанию | уровень логгирования | | ---------------------- | --------------- | ------------ | -------------------- | @@ -202,13 +208,17 @@ vk.friends.get(uid: 1, fields: [:first_name, :last_name, :photo]) | JSON ответа при ошибке | `log_errors` | `true` | `warn` | | JSON удачного ответа | `log_responses` | `false` | `debug` | -Таким образом, в rails-приложении с настройками по умолчанию в production записываются только ответы сервера при ошибках; в development также логгируются URL-ы запросов. +Таким образом, в rails-приложении с настройками по умолчанию в production +записываются только ответы сервера при ошибках; +в development также логгируются URL-ы запросов. ### Пример использования -Пример использования `vkontakte_api` совместно с `eventmachine` можно посмотреть [здесь](https://github.com/7even/vkontakte_on_em). +Пример использования `vkontakte_api` совместно с `eventmachine` можно посмотреть +[здесь](https://github.com/7even/vkontakte_on_em). -Также был написан [пример использования с rails](https://github.com/7even/vkontakte_on_rails), но он больше не работает из-за отсутствия прав на вызов метода `newsfeed.get`. +Также был написан [пример использования с rails](https://github.com/7even/vkontakte_on_rails), +но он больше не работает из-за отсутствия прав на вызов метода `newsfeed.get`. ## Настройка @@ -251,13 +261,23 @@ VkontakteApi.configure do |config| end ``` -По умолчанию для HTTP-запросов используется `Net::HTTP`; можно выбрать [любой другой адаптер](https://github.com/technoweenie/faraday/blob/master/lib/faraday/adapter.rb), поддерживаемый `faraday`. +По умолчанию для HTTP-запросов используется `Net::HTTP`; можно выбрать +[любой другой адаптер](https://github.com/technoweenie/faraday/blob/master/lib/faraday/adapter.rb), +поддерживаемый `faraday`. -ВКонтакте [позволяет](http://vk.com/developers.php?oid=-1&p=%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2_%D0%BA_API) использовать как `GET`-, так и `POST`-запросы при вызове методов API. По умолчанию `vkontakte_api` использует `POST`, но в настройке `http_verb` можно указать `:get`, чтобы совершать `GET`-запросы. +ВКонтакте [позволяет](http://vk.com/developers.php?oid=-1&p=%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2_%D0%BA_API) +использовать как `GET`-, так и `POST`-запросы при вызове методов API. +По умолчанию `vkontakte_api` использует `POST`, но в настройке `http_verb` +можно указать `:get`, чтобы совершать `GET`-запросы. -При необходимости можно указать параметры для faraday-соединения - например, параметры прокси-сервера или путь к SSL-сертификатам. +При необходимости можно указать параметры для faraday-соединения - например, +параметры прокси-сервера или путь к SSL-сертификатам. -Чтобы сгенерировать файл с настройками по умолчанию в rails-приложении, можно воспользоваться генератором `vkontakte_api:install`: +Чтобы при каждом вызове API-метода передавалась определенная версия API, можно +указать ее в конфигурации в `api_version`. По умолчанию версия не указана. + +Чтобы сгенерировать файл с настройками по умолчанию в rails-приложении, +можно воспользоваться генератором `vkontakte_api:install`: ``` sh $ cd /path/to/app @@ -266,17 +286,26 @@ $ rails generate vkontakte_api:install ## JSON-парсер -`vkontakte_api` использует парсер [Oj](https://github.com/ohler55/oj) - это единственный парсер, который не показал [ошибок](https://github.com/7even/vkontakte_api/issues/1) при парсинге JSON, генерируемого ВКонтакте. +`vkontakte_api` использует парсер [Oj](https://github.com/ohler55/oj) - это +единственный парсер, который не показал [ошибок](https://github.com/7even/vkontakte_api/issues/1) +при парсинге JSON, генерируемого ВКонтакте. -Также в библиотеке `multi_json` (обертка для различных JSON-парсеров, которая выбирает самый быстрый из установленных в системе и парсит им) `Oj` поддерживается и имеет наивысший приоритет; поэтому если он установлен в системе, `multi_json` будет использовать именно его. +Также в библиотеке `multi_json` (обертка для различных JSON-парсеров, +которая выбирает самый быстрый из установленных в системе и парсит им) +`Oj` поддерживается и имеет наивысший приоритет; поэтому если он установлен +в системе, `multi_json` будет использовать именно его. ## Roadmap * CLI-интерфейс с автоматической авторизацией -* Глобальное указание версии API ## Участие в разработке -Если вы хотите поучаствовать в разработке проекта, форкните репозиторий, положите свои изменения в отдельную ветку, покройте их спеками и отправьте мне pull request. +Если вы хотите поучаствовать в разработке проекта, форкните репозиторий, +положите свои изменения в отдельную ветку, покройте их спеками +и отправьте мне pull request. -`vkontakte_api` тестируется под MRI `1.9.3`, `2.0.0` и `2.1.2`. Если в одной из этих сред что-то работает неправильно, либо вообще не работает, то это следует считать багом, и написать об этом в [issues на Github](https://github.com/7even/vkontakte_api/issues). +`vkontakte_api` тестируется под MRI `1.9.3`, `2.0.0` и `2.1.2`. +Если в одной из этих сред что-то работает неправильно, либо вообще не работает, +то это следует считать багом, и написать об этом +в [issues на Github](https://github.com/7even/vkontakte_api/issues). diff --git a/lib/vkontakte_api/version.rb b/lib/vkontakte_api/version.rb index 333fc1e..27f4d4f 100644 --- a/lib/vkontakte_api/version.rb +++ b/lib/vkontakte_api/version.rb @@ -1,4 +1,4 @@ module VkontakteApi # Library version. - VERSION = '1.4.beta' + VERSION = '1.4' end