wcc-api 0.5.1 → 0.6.0
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 +5 -5
- data/lib/wcc/api/controller_helpers.rb +1 -1
- data/lib/wcc/api/rest_client/response.rb +23 -12
- data/lib/wcc/api/version.rb +1 -1
- data/wcc-api.gemspec +0 -1
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 47b500004307b9a7cc3691eb860b417d9abb224c3ad2a8990429ef94eb29ec5a
|
4
|
+
data.tar.gz: bb3f14dfde59b016aa379f92e8e09dc444785ffafc65342b7aba1dd4a5e24928
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a583e7a88e0d3de9297a88914e1a79d1e4f0722eb00e070cfddb2b2e4648cf47d535dce2a82e4c81046f35ea742cf9302e22ec82476cc627aabecb28df5ee14f
|
7
|
+
data.tar.gz: c68b93ce289b0390129e71418464cb6d247977343ae1f0477fc75fc6ef94efe5d75df2126a6c7a8b82ee9a4202729981c289abaa637f93446979cf0834638f0a
|
@@ -11,7 +11,7 @@ module WCC::API
|
|
11
11
|
expires_in expiry, options.slice(:public, :must_revalidate)
|
12
12
|
end
|
13
13
|
|
14
|
-
fresh_when
|
14
|
+
fresh_when(scope_or_record, **options.slice(:etag, :public, :last_modified))
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -64,11 +64,11 @@ module WCC::API
|
|
64
64
|
def next_page
|
65
65
|
return unless next_page?
|
66
66
|
|
67
|
-
|
67
|
+
next_page ||= @client.get(
|
68
68
|
@request[:url],
|
69
69
|
(@request[:query] || {}).merge(next_page_query)
|
70
70
|
)
|
71
|
-
|
71
|
+
next_page.assert_ok!
|
72
72
|
end
|
73
73
|
|
74
74
|
def assert_ok!
|
@@ -81,16 +81,7 @@ module WCC::API
|
|
81
81
|
def each_page(&block)
|
82
82
|
raise ArgumentError, 'Not a collection response' unless collection_response?
|
83
83
|
|
84
|
-
ret =
|
85
|
-
Enumerator.new do |y|
|
86
|
-
y << self
|
87
|
-
|
88
|
-
if next_page?
|
89
|
-
next_page.each_page.each do |page|
|
90
|
-
y << page
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
84
|
+
ret = PaginatingEnumerable.new(self)
|
94
85
|
|
95
86
|
if block_given?
|
96
87
|
ret.map(&block)
|
@@ -133,5 +124,25 @@ module WCC::API
|
|
133
124
|
body['items']
|
134
125
|
end
|
135
126
|
end
|
127
|
+
|
128
|
+
class PaginatingEnumerable
|
129
|
+
include Enumerable
|
130
|
+
|
131
|
+
def initialize(initial_page)
|
132
|
+
raise ArgumentError, 'Must provide initial page' unless initial_page
|
133
|
+
|
134
|
+
@initial_page = initial_page
|
135
|
+
end
|
136
|
+
|
137
|
+
def each
|
138
|
+
page = @initial_page
|
139
|
+
yield page
|
140
|
+
|
141
|
+
while page.next_page?
|
142
|
+
page = page.next_page
|
143
|
+
yield page
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
136
147
|
end
|
137
148
|
end
|
data/lib/wcc/api/version.rb
CHANGED
data/wcc-api.gemspec
CHANGED
@@ -21,7 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_dependency 'wcc-base'
|
23
23
|
|
24
|
-
spec.add_development_dependency 'bundler', '~> 1.6'
|
25
24
|
spec.add_development_dependency 'dotenv', '~> 0.10.0'
|
26
25
|
spec.add_development_dependency 'faraday', '~> 0.9'
|
27
26
|
spec.add_development_dependency 'guard', '~> 2.15'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wcc-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Watermark Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: wcc-base
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '1.6'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.6'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: dotenv
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,8 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
255
241
|
- !ruby/object:Gem::Version
|
256
242
|
version: '0'
|
257
243
|
requirements: []
|
258
|
-
|
259
|
-
rubygems_version: 2.6.11
|
244
|
+
rubygems_version: 3.5.4
|
260
245
|
signing_key:
|
261
246
|
specification_version: 4
|
262
247
|
summary: Holds common code used in our applications that host APIs and those that
|