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 +4 -4
- data/lib/rail-locator-api/api_request.rb +32 -9
- data/lib/rail-locator-api/request.rb +19 -10
- data/lib/rail-locator-api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33574469b6b170067b3d58342f93cb05e37e489f4fa545c509596865ab18db61
|
4
|
+
data.tar.gz: 28f32f1bca4499066ef8616c28a19d034ec02de3847f859fd477e7a8fb3242d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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,
|
8
|
+
def post(params: nil, headers: nil, format: nil, body: {})
|
9
9
|
validate_api_key
|
10
10
|
begin
|
11
|
-
response = self.rest_client(
|
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
|
-
|
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
|
-
|
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(
|
166
|
-
client = Faraday.new("#{self.api_url}#{
|
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
|
-
|
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
|
-
@
|
24
|
-
|
25
|
-
|
26
|
-
|
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
|