rail-locator-api 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: facf4423c0e86173d4dc747fc5223723b98a7999c316f5b1fb64b80ce048b988
4
- data.tar.gz: eac12b206586fd5d73e70bc812d7b0f293d0676bb2dd400ffc1d03b9b3197057
3
+ metadata.gz: 86dafa172f5244cd21ea40704c850a5f585514ba5b00437da05bca58d420cbe5
4
+ data.tar.gz: 439dc8ac49e8998c577981a319e1939600831304ce60bfcd2f10179af2d28c51
5
5
  SHA512:
6
- metadata.gz: 123fe83f4d87605ea16a9ce70d2d1d7f94c114cafa18431fde2947feee042ac9a72ad05c2ffadce538fc6e2a920832ecb2b679e3a2a1cedc73baba20993b3691
7
- data.tar.gz: f51540d4f9048cd0c2d57638d65cabeb6e8a4d33dd5c755180a32a5d74c1ef40f97e51f768f815a7dd30aa3f7491805a269348253a11fd382ca2f98965d68dfc
6
+ metadata.gz: 074b9f3ad0f4561006e01a58bc9a7f83c2b792f3c715adc85f25317d080a9cdada8e3c95f2ba1d28c267a511f93dfac118894af414ae51ded59ffae582592b9c
7
+ data.tar.gz: 1393c5d85d5bc21600d50e618a2c0ef1e87763e68d5a77c936e87911f139f172d439951d024345d927f1569a3086bb4916e96a60821ece19885e6aba04811d24
data/README.markdown CHANGED
@@ -46,6 +46,11 @@ API wrapper для RailLocator API v2
46
46
 
47
47
  # <a name="install"></a> Установка
48
48
 
49
+ Для авторизации по api key необходимо получить его [в личном кабинете локатора](https://rail-locator.com/app/api-keys)
50
+ либо использовать другие методы авторизации:
51
+
52
+ `:keycloak, :api_key, :base64`
53
+
49
54
  ## Ruby
50
55
  $ gem install rail-locator-api
51
56
  ## Rails
@@ -59,7 +64,6 @@ API wrapper для RailLocator API v2
59
64
 
60
65
  rails g rail_locator_api:install
61
66
 
62
-
63
67
  ## <a name="using_rails"></a> Использование Rails
64
68
 
65
69
  В файл `config/rail_locator_api.yml` вставьте ваши данные
@@ -69,19 +73,24 @@ API wrapper для RailLocator API v2
69
73
  Сначала создайте экземпляр объекта `RailLocatorApi::Request`:
70
74
 
71
75
  ```ruby
72
- locator = RailLocatorApi::Request.new(api_user_email: "email@ctm.ru", api_user_password: "12345678")
76
+ locator = RailLocatorApi::Request.new(api_key: "***")
77
+ # или
78
+ locator = RailLocatorApi::Request.new(api_auth_method: :base64, api_user_email: "email@ctm.ru", api_user_password: "12345678")
73
79
  ```
74
80
 
75
- Вы можете изменять `api_user_email`, `api_user_password`, `timeout`, `open_timeout`, `faraday_adapter`, `proxy`, `symbolize_keys`, `logger`, и `debug`:
81
+ Вы можете изменять `api_auth_method`, `api_key`, `api_user_email`, `api_user_password`, `timeout`, `open_timeout`, `faraday_adapter`, `proxy`, `symbolize_keys`, `logger`, и `debug`:
76
82
 
77
83
  ```ruby
78
- RailLocatorApi::Request.api_key = "your_api_key"
79
- RailLocatorApi::Request.api_user_email = "email@ctm.ru"
80
- RailLocatorApi::Request.api_user_password = "12345678"
81
84
  RailLocatorApi::Request.timeout = 15
82
85
  RailLocatorApi::Request.open_timeout = 15
83
86
  RailLocatorApi::Request.symbolize_keys = true
84
87
  RailLocatorApi::Request.debug = false
88
+
89
+ RailLocatorApi::Request.api_key = "your_api_key"
90
+ # или
91
+ RailLocatorApi::Request.api_auth_method = :base64
92
+ RailLocatorApi::Request.api_user_email = "email@ctm.ru"
93
+ RailLocatorApi::Request.api_user_password = "12345678"
85
94
  ```
86
95
 
87
96
  Либо в файле `config/initializers/rail_locator_api.rb` для Rails.
@@ -91,7 +100,7 @@ RailLocatorApi::Request.debug = false
91
100
  Измените `debug: true` чтобы включить логирование в STDOUT.
92
101
 
93
102
  ```ruby
94
- locator = RailLocatorApi::Request.new(api_key: "your_api_key", debug: true)
103
+ locator = RailLocatorApi::Request.new(api_key: "***", debug: true)
95
104
  ```
96
105
 
97
106
  ### <a name="custom_logger"></a> Custom logger
@@ -99,7 +108,7 @@ locator = RailLocatorApi::Request.new(api_key: "your_api_key", debug: true)
99
108
  `Logger.new` используется по умолчанию, но вы можете изменить на свой:
100
109
 
101
110
  ```ruby
102
- locator = RailLocatorApi::Request.new(api_user_email: "email@ctm.ru", api_user_password: "12345678", debug: true, logger: MyLogger.new)
111
+ locator = RailLocatorApi::Request.new(api_key: "***", debug: true, logger: MyLogger.new)
103
112
  ```
104
113
 
105
114
  Или:
@@ -1,8 +1,12 @@
1
1
  defaults: &defaults
2
- API_KEY: "***"
3
2
  API_ENDPOINT: "http://soap.ctm.ru:8112"
3
+
4
+ API_AUTH_METHOD: "api_key"
5
+ API_KEY: "***"
6
+
4
7
  API_USER_EMAIL: ""
5
8
  API_USER_PASSWORD: ""
9
+
6
10
  KEYCLOAK_TOKEN_URL: "https://iam.ctm.ru/auth/realms/ctm/protocol/openid-connect/token"
7
11
  KEYCLOAK_GRANT_TYPE: "password"
8
12
  KEYCLOAK_CLIENT_ID: "client_id"
@@ -127,6 +127,9 @@ module RailLocatorApi
127
127
  if [:api_key, :keycloak].include?(self.api_auth_method)
128
128
  request.headers['Authorization'] = "Bearer #{RailLocatorApi::Request.access_token}"
129
129
  end
130
+ if [:keycloak].include?(self.api_auth_method)
131
+ request.headers['X-API-KEY'] = "#{RailLocatorApi::Request.api_key}"
132
+ end
130
133
  request.headers['User-Agent'] = "RailLocatorApi/#{RailLocatorApi::VERSION} Ruby gem"
131
134
  if @request_builder.without_ratelimit
132
135
  request.headers['X-Request-Without-Ratelimit'] = "1"
@@ -5,7 +5,7 @@ module RailLocatorApi
5
5
  :without_ratelimit, :logger, :test
6
6
 
7
7
  AUTH_METHODS = [:keycloak, :api_key, :base64]
8
- DEFAULT_AUTH_METHOD = :keycloak
8
+ DEFAULT_AUTH_METHOD = :api_key
9
9
  DEFAULT_TIMEOUT = 60
10
10
  DEFAULT_OPEN_TIMEOUT = 60
11
11
 
@@ -1,3 +1,3 @@
1
1
  module RailLocatorApi
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rail-locator-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov