rail-locator-api 0.1.23 → 0.1.31

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: 9988790e6c871a9ed969535f78ce48c313e68154fdc8a8a3844eee6b14350535
4
- data.tar.gz: 26e58f6cbf89f73a7bddd60532325a5ed6571a899031db465d79252b524cdfd7
3
+ metadata.gz: 33574469b6b170067b3d58342f93cb05e37e489f4fa545c509596865ab18db61
4
+ data.tar.gz: 28f32f1bca4499066ef8616c28a19d034ec02de3847f859fd477e7a8fb3242d5
5
5
  SHA512:
6
- metadata.gz: 8ad0802d88fe40ee719a4610efe1aa8d6db485014a240dc1e724cfbb8ce69574bdf9bd56f99ac23391ffe16a210d614b0438e0a2a077865cc51ebed4dd3b9492
7
- data.tar.gz: e4a92fa709070d8d2f7130e3214e34a5efe5fc43a2b9707e74a069030689947ece8eb159ce54644b5fdbea65ba4d7dd35df71a43df6d6f86dfa0eec47551bbcc
6
+ metadata.gz: 94ee04c1e1bfdc5571ba120ae75a4d3dd33a7193caad81de585c12bbb69e62a67bc54ed4da4628b102a1dece81bb404862bc1c0075e123dc26850c1a75f0eae8
7
+ data.tar.gz: b29102d243faad074bfb6f61222c6d8479553e72110d8da9332cb0976c401f178a457e858626b0042765e233c2b8c3e88c6447d8a2cc7a7677a663899a00d231
@@ -5,26 +5,34 @@ module RailLocatorApi
5
5
  @request_builder = builder
6
6
  end
7
7
 
8
- def post(params: nil, headers: nil, suffix: nil, body: {})
8
+ def post(params: nil, headers: nil, format: nil, body: {})
9
9
  validate_api_key
10
10
  begin
11
- response = self.rest_client(suffix).post do |request|
11
+ response = self.rest_client(format).post do |request|
12
12
  configure_request(request: request, params: params, headers: headers, body: body)
13
13
  end
14
- parse_response(response)
14
+ if [nil, 'json'].include?(format)
15
+ parse_response(response)
16
+ else
17
+ response
18
+ end
15
19
  rescue => e
16
20
  handle_error(e)
17
21
  end
18
22
  end
19
23
 
20
- def get(params: nil, headers: nil, body: {})
24
+ def get(params: nil, headers: nil, format: nil, body: {})
21
25
  validate_api_key
22
26
 
23
27
  begin
24
- response = self.rest_client.get do |request|
28
+ response = self.rest_client(format).get do |request|
25
29
  configure_request(request: request, params: params, headers: headers, body: body)
26
30
  end
27
- parse_response(response)
31
+ if [nil, 'json'].include?(format)
32
+ parse_response(response)
33
+ else
34
+ response
35
+ end
28
36
  rescue => e
29
37
  handle_error(e)
30
38
  end
@@ -150,10 +158,10 @@ module RailLocatorApi
150
158
  end
151
159
  request.headers['User-Agent'] = "RailLocatorApi/#{RailLocatorApi::VERSION} Ruby gem"
152
160
  if @request_builder.without_ratelimit
153
- request.headers['X-Request-Without-Ratelimit'] = "true"
161
+ request.headers['X-Is-Request-Without-RateLimit'] = "true"
154
162
  end
155
163
  if @request_builder.is_allow_access_to_coordinates
156
- request.headers['X_IS_ALLOW_ACCESS_TO_COORDINATES'] = "true"
164
+ request.headers['X-Is-Allow-Access-To-Coordinates'] = "true"
157
165
  end
158
166
  request.headers.merge!(headers) if headers
159
167
  request.body = MultiJson.dump(body) if body
@@ -162,8 +170,8 @@ module RailLocatorApi
162
170
  end
163
171
  end
164
172
 
165
- def rest_client(suffix=nil)
166
- client = Faraday.new("#{self.api_url}#{suffix.present? ? "/#{suffix}": ""}", proxy: self.proxy,
173
+ def rest_client(format=nil)
174
+ client = Faraday.new("#{self.api_url}#{format.present? ? ".#{format}": ""}", proxy: self.proxy,
167
175
  ssl: self.ssl_options) do |faraday|
168
176
  faraday.request :gzip
169
177
  faraday.response :raise_error
@@ -213,11 +221,26 @@ module RailLocatorApi
213
221
  end
214
222
 
215
223
  def api_url
216
- base_api_url + @request_builder.path
224
+ case @request_builder.path_parts.first
225
+ when "lk"
226
+ lk_api_url
227
+ when "app"
228
+ app_api_url
229
+ else
230
+ base_api_url
231
+ end + @request_builder.path
217
232
  end
218
233
 
219
234
  def base_api_url
220
235
  "#{RailLocatorApi.api_endpoint}/api/v2.0/"
221
236
  end
237
+
238
+ def lk_api_url
239
+ "https://rail-locator.com/"
240
+ end
241
+
242
+ def app_api_url
243
+ "http://192.168.1.129:1488/"
244
+ end
222
245
  end
223
246
  end
@@ -20,10 +20,15 @@ module RailLocatorApi
20
20
 
21
21
  @api_user_id = api_user_id
22
22
 
23
- @access_token = access_token || self.class.access_token || RailLocatorApi.generate_access_token.try(:dig, "access_token")
24
- @access_token = @access_token.strip if @access_token
25
- @refresh_token = refresh_token || self.class.refresh_token
26
- @refresh_token = @refresh_token.strip if @refresh_token
23
+ if @api_key == :keycloak
24
+ @access_token = access_token || self.class.access_token || RailLocatorApi.generate_access_token.try(:dig, "access_token")
25
+ @access_token = @access_token.strip if @access_token
26
+ @refresh_token = refresh_token || self.class.refresh_token
27
+ @refresh_token = @refresh_token.strip if @refresh_token
28
+ else
29
+ @access_token = ""
30
+ @refresh_token = ""
31
+ end
27
32
 
28
33
  @api_user_email = api_user_email || ENV['API_USER_EMAIL'] || ""
29
34
  @api_user_password = api_user_password || ENV['API_USER_PASSWORD'] || ""
@@ -62,24 +67,28 @@ module RailLocatorApi
62
67
  end
63
68
  end
64
69
 
70
+ def path_parts
71
+ @path_parts
72
+ end
73
+
65
74
  def path
66
75
  @path_parts.join('/')
67
76
  end
68
77
 
69
- def create(params: nil, headers: nil, body: {})
70
- APIRequest.new(builder: self).post(params: params, headers: headers, body: body)
78
+ def create(params: nil, headers: nil, body: {}, format: nil)
79
+ APIRequest.new(builder: self).post(params: params, headers: headers, body: body, format: format)
71
80
  ensure
72
81
  reset
73
82
  end
74
83
 
75
- def update(params: nil, headers: nil, body: {})
76
- APIRequest.new(builder: self).post(params: params, headers: headers, body: body)
84
+ def update(params: nil, headers: nil, body: {}, format: nil)
85
+ APIRequest.new(builder: self).post(params: params, headers: headers, body: body, format: format)
77
86
  ensure
78
87
  reset
79
88
  end
80
89
 
81
- def retrieve(params: nil, headers: nil, body: {})
82
- APIRequest.new(builder: self).get(params: params, headers: headers, body: body)
90
+ def retrieve(params: nil, headers: nil, body: {}, format: nil)
91
+ APIRequest.new(builder: self).get(params: params, headers: headers, body: body, format: format)
83
92
  ensure
84
93
  reset
85
94
  end
@@ -1,3 +1,3 @@
1
1
  module RailLocatorApi
2
- VERSION = "0.1.23"
2
+ VERSION = "0.1.31"
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.23
4
+ version: 0.1.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov