README.md in atol-0.2 vs README.md in atol-0.3
- old
+ new
@@ -1,17 +1,17 @@
![ruby-logo](https://www.ruby-lang.org/images/header-ruby-logo.png)
-![atol-logo](http://www.atol.ru/site_styles/img/logo-red.png)
+![atol-logo](http://www.atol.ru/site_styles/img/logo-red.png)
[![Gem Version](https://badge.fury.io/rb/atol.svg)](https://badge.fury.io/rb/atol) [![BuildStatus](https://travis-ci.org/GeorgeGorbanev/atol-rb.png)](https://travis-ci.org/GeorgeGorbanev/atol-rb) [![Maintainability](https://api.codeclimate.com/v1/badges/8c702db502a7a6abdcba/maintainability)](https://codeclimate.com/github/GeorgeGorbanev/atol-rb/maintainability) [![Coverage Status](https://coveralls.io/repos/github/GeorgeGorbanev/atol-rb/badge.svg?branch=master)](https://coveralls.io/github/GeorgeGorbanev/atol-rb?branch=master)
# atol-rb
Пакет содержит набор классов для работы с [KaaS-сервисом АТОЛ-онлайн](https://online.atol.ru/) по [описанному протоколу](https://online.atol.ru/files/%D0%90%D0%A2%D0%9E%D0%9B%20%D0%9E%D0%BD%D0%BB%D0%B0%D0%B8%CC%86%D0%BD._%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D0%B0.pdf).
##### Совместимость
-Для корректной работы необходим интерпретатор Руби версии 2.2 и выше. Пакет работает с версией протокола v3.
+Для корректной работы необходим интерпретатор Руби версии 2.2 и выше. Пакет работает с версией протокола v3.
## Использование
### Установка пакета
@@ -21,11 +21,11 @@
```ruby
gem 'atol'
```
И запустить команду:
-```
+```
$ bundle install
```
### Конфигурация
Для обращения к сервису необходимы данные учетной записи.
@@ -46,11 +46,11 @@
Для Rails-приложений так же можно создать файл инициализации и задать параметры непосредственно в коде:
```ruby
# config/initializers/atol.rb
-
+
Rails.application.config.after_initialize do
Atol.config.tap do |config|
config.inn = '123456789010'
config.login = 'example-login'
config.password = 'example-password'
@@ -58,12 +58,22 @@
config.group_code = 'example-group-code'
end
end
```
-Для класса конфигурации используется класс из гема [anyway-config](https://github.com/palkan/anyway_config). Другие способы задания конфигурации можно найти в его документации.
+Для объектов конфигурации используется класс унаследованный от класса из гема [anyway-config](https://github.com/palkan/anyway_config). Другие способы задания конфигурации можно найти в его документации.
+#### Прокси
+
+Объект конфигурации позволяет задать прокси для http-запросов:
+
+``` ruby
+ uri = URI('http://example-proxy.com')
+ proxy = Net::HTTP.Proxy(uri.host, uri.port)
+ Atol.config.http_client = proxy
+```
+
### Получение токена
Для создания документа в системе АТОЛ необходимо получить токен авторизации. Вот как это можно сделать:
```ruby
@@ -79,20 +89,20 @@
#### Создание тела запроса
Тело запроса должно соответствовать схеме. Для упрощения кода создан класс `Atol::Request::PostDocument::Sell::Body`.
-Конструктор в качестве обязательных аргументов принимает `external_id`, один из аргументов `phone` или `email` и `items`.
+Конструктор в качестве обязательных аргументов принимает `external_id`, один из аргументов `phone` или `email` и `items`.
```ruby
body = Atol::Request::PostDocument::Sell::Body.new(
external_id: 123,
email: 'example@example.com',
items: [
...
]
-).to_json
+).to_json
```
Массив `items` должен включать в себя объекты, которые так же соответствуют схеме.
Для создания `items` можно использовать класс `Atol::Request::PostDocument::Item::Body`.
@@ -125,11 +135,11 @@
Atol::Request::PostDocument::Item::Body.new(
name: 'number 6',
price: 60
).to_h
]
-).to_json
+).to_json
```
Результат:
```json
@@ -222,11 +232,11 @@
# config/initializers/atol.rb
Rails.application.config.after_initialize do
Atol.config.callback_url = Rails.application.routes.url_helpers.atol_callback_url
end
-
+
```
#### Запрос статуса документа
Если в течение 300 секунд не поступил запрос с состоянием документа, то необходимо запросить его через get-запрос.
@@ -235,6 +245,6 @@
```ruby
response = Atol::Transaction::GetDocumentState.new(token: token, uuid: uuid).call
-```
\ No newline at end of file
+```