wcc-api 0.5.1 → 0.6.0

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
- SHA1:
3
- metadata.gz: 0c0b6f43132217782441bec2a54a9d046110bf83
4
- data.tar.gz: dba5e3f10029efa9cb252474bd7763a3764cd9e4
2
+ SHA256:
3
+ metadata.gz: 47b500004307b9a7cc3691eb860b417d9abb224c3ad2a8990429ef94eb29ec5a
4
+ data.tar.gz: bb3f14dfde59b016aa379f92e8e09dc444785ffafc65342b7aba1dd4a5e24928
5
5
  SHA512:
6
- metadata.gz: 725780f28f63a96972d70e5c7cd4596c5e4a8bb22955123db4f8d0f30c9ed30aec5cba14a1ccc65359cb0178f1c487d2e431967861f20e87f4fa8a93b2b215e1
7
- data.tar.gz: f46f334b4a6c7c202f22898039350a54e7ccd8de6724c9e88cfe19fe3333db6d09c0fa6a4ae80a4f473a42439e513d2327b4e40dc82f6141f9577c4a153364ef
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 scope_or_record, options.slice(:etag, :public, :last_modified)
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
- @next_page ||= @client.get(
67
+ next_page ||= @client.get(
68
68
  @request[:url],
69
69
  (@request[:query] || {}).merge(next_page_query)
70
70
  )
71
- @next_page.assert_ok!
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module WCC
4
4
  module API
5
- VERSION = '0.5.1'
5
+ VERSION = '0.6.0'
6
6
  end
7
7
  end
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.5.1
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: 2021-03-26 00:00:00.000000000 Z
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
- rubyforge_project:
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