ocean-rails 5.0.7 → 5.0.8
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 +4 -4
- data/lib/ocean/api.rb +11 -8
- data/lib/ocean/version.rb +1 -1
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40050eb257fba2f83fd89c819244b4cad0d8c5e8
|
4
|
+
data.tar.gz: bbf7ecc4d993e7b9c5fa97da6d22b60a33c5e784
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25daad9c964b1e92cf7eb9504b46db6f3de4dd387617666f6dc5f5d27ff8582429d5d1626c32b5c69687db9e4422027f675550a406bce92bc961e3b776e6246f
|
7
|
+
data.tar.gz: 4b5097c0314c9daf4f3651a019529d6a0960d6c30c62ca278a8e6fca8d4ca15d474f141a007468c2c4467ec083fe7f1d496452d5714ded3725968b5d668545b9
|
data/lib/ocean/api.rb
CHANGED
@@ -161,8 +161,7 @@ class Api
|
|
161
161
|
#
|
162
162
|
# Automatic retries for GET requests are available:
|
163
163
|
#
|
164
|
-
# +retries+, if given and > 0, specifies the number of retries to perform for GET requests.
|
165
|
-
# Defaults to 0, meaning no retries.
|
164
|
+
# +retries+, if given and > 0, specifies the number of retries to perform for GET requests. Defaults to 0, meaning no retries.
|
166
165
|
# +backoff_time+ (default 1) the initial time to wait between retries.
|
167
166
|
# +backoff_rate+ (default 0.9) the rate at which the time is increased.
|
168
167
|
# +backoff_max+ (default 30) the maximum time to wait between retries.
|
@@ -172,6 +171,11 @@ class Api
|
|
172
171
|
# settings will generate the progression 1, 1.9, 3.61, 6.859, 13.0321, 24.76099, 30, 30,
|
173
172
|
# 30, etc. To disable waiting between retries entirely, set +backoff_time+ to zero.
|
174
173
|
#
|
174
|
+
# If a +postprocessor+ block is given, it will be called with the result of the response;
|
175
|
+
# whatever it returns will be returned as the result of the Api request.
|
176
|
+
#
|
177
|
+
# +Api.request+ can be called inside a +simultaneously+ block.
|
178
|
+
#
|
175
179
|
def self.request(url, http_method, args: nil, headers: {}, body: nil,
|
176
180
|
credentials: nil,
|
177
181
|
x_api_token: headers['X-API-Token'],
|
@@ -179,7 +183,7 @@ class Api
|
|
179
183
|
ssl_verifypeer: true, ssl_verifyhost: 2,
|
180
184
|
retries: 0, backoff_time: 1, backoff_rate: 0.9, backoff_max: 30,
|
181
185
|
x_metadata: Thread.current[:metadata],
|
182
|
-
&
|
186
|
+
&postprocessor)
|
183
187
|
# Set up the request
|
184
188
|
headers['Accept'] = "application/json"
|
185
189
|
headers['Content-Type'] = "application/json" if [:post, :put].include?(http_method)
|
@@ -219,7 +223,7 @@ class Api
|
|
219
223
|
# calls done by the post-processor will use the same response
|
220
224
|
# accessors, which means the final result will be what the last
|
221
225
|
# post-processor to finish returns.
|
222
|
-
response =
|
226
|
+
response = postprocessor.call(response) if postprocessor
|
223
227
|
when 300..399
|
224
228
|
nil # Done, redirect
|
225
229
|
when 400, 419
|
@@ -282,13 +286,12 @@ class Api
|
|
282
286
|
# r << Api.request("http://foo.quux", :get, retries: 3)
|
283
287
|
# end
|
284
288
|
#
|
285
|
-
# The value returned is an array of responses from the Api.request calls.
|
286
|
-
# has a post-processor block, the result will not be the response but what the block
|
287
|
-
# returns.
|
289
|
+
# The value returned is an array of responses from the Api.request calls.
|
288
290
|
#
|
289
291
|
# TimeoutErrors and NoResponseError will not be raised in parallel mode.
|
290
292
|
#
|
291
|
-
# Only Api.request is supported at the present time. Api::RemoteResource will follow
|
293
|
+
# Only +Api.request+ is supported at the present time. Api::RemoteResource will follow,
|
294
|
+
# but requires a major internal reorganisation of Api::RemoteResource. It's underway.
|
292
295
|
#
|
293
296
|
def self.simultaneously (&block)
|
294
297
|
raise "block required" unless block
|
data/lib/ocean/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ocean-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Bengtson
|
@@ -16,84 +16,84 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.7.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.7.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ffi
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.9.10
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.9.10
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ffi-rzmq
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '2.0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rack-attack
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 4.3.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 4.3.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jbuilder
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 2.3.1
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 2.3.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: ocean-dynamo
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 0.7.4
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 0.7.4
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rails
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -267,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
267
267
|
version: '0'
|
268
268
|
requirements: []
|
269
269
|
rubyforge_project:
|
270
|
-
rubygems_version: 2.4.
|
270
|
+
rubygems_version: 2.4.6
|
271
271
|
signing_key:
|
272
272
|
specification_version: 4
|
273
273
|
summary: This gem implements common Ocean behaviour for Ruby and Ruby on Rails.
|