rail-locator-api 0.1.24 → 0.1.31

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 290c5d8b74fbc188890e90edae5bc52673ebd73663839f24077f947faf531c54
4
- data.tar.gz: eb9419b7a0be176f397c2b6277b5e2e9d803ee3955086d5c906a137c57d32875
3
+ metadata.gz: 33574469b6b170067b3d58342f93cb05e37e489f4fa545c509596865ab18db61
4
+ data.tar.gz: 28f32f1bca4499066ef8616c28a19d034ec02de3847f859fd477e7a8fb3242d5
5
5
  SHA512:
6
- metadata.gz: dc3072113e79d02dcb84e6c58c39c8e4a8f80d42fc644df8b39bad886fa9ae79eca9cb6d531ae835d7218d5a4ece3f7348aec08e43d7b1370cdc32bf5b3f32fa
7
- data.tar.gz: b675718f4cee3bbe363e9f65eb018e513e480a9ff406843403e0b8e4892b1a7c5eb86943d54f4dcff1e46bdeccea8785d82f35ff31b4295b03e9776292b17893
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
@@ -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.24"
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.24
4
+ version: 0.1.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov