wcc-api 0.5.1 → 0.5.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0c0b6f43132217782441bec2a54a9d046110bf83
4
- data.tar.gz: dba5e3f10029efa9cb252474bd7763a3764cd9e4
2
+ SHA256:
3
+ metadata.gz: 28ce3f8ce50bf220052fdf1f607457725083577e2085927ac565aa6f2c7a1c93
4
+ data.tar.gz: 16c1f3e5329e8b711c0cdab943d4c270c35b186f71875278776499b4e47b4323
5
5
  SHA512:
6
- metadata.gz: 725780f28f63a96972d70e5c7cd4596c5e4a8bb22955123db4f8d0f30c9ed30aec5cba14a1ccc65359cb0178f1c487d2e431967861f20e87f4fa8a93b2b215e1
7
- data.tar.gz: f46f334b4a6c7c202f22898039350a54e7ccd8de6724c9e88cfe19fe3333db6d09c0fa6a4ae80a4f473a42439e513d2327b4e40dc82f6141f9577c4a153364ef
6
+ metadata.gz: da429643f12efb3b7c136324ce7598980efc85192c06fc566790a7e9440bd54a6051c646a1f931b80a15f0da0b52f40a6df60f53d2733b0195a3d1a963f26581
7
+ data.tar.gz: 1866949150576051ed35474f0f1b165c377ebcb5e3678d752eb01b2c5411a210b6ad1a0ca38e05cbd5ad1c1a6c320195ae0595d6de6935e98608510a17ed3708
@@ -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.5.2'
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.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Watermark Dev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-26 00:00:00.000000000 Z
11
+ date: 2022-04-18 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
@@ -240,7 +226,7 @@ homepage: https://github.com/watermarkchurch/wcc-api
240
226
  licenses:
241
227
  - MIT
242
228
  metadata: {}
243
- post_install_message:
229
+ post_install_message:
244
230
  rdoc_options: []
245
231
  require_paths:
246
232
  - lib
@@ -255,9 +241,9 @@ 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
260
- signing_key:
244
+ rubyforge_project:
245
+ rubygems_version: 2.7.6.3
246
+ signing_key:
261
247
  specification_version: 4
262
248
  summary: Holds common code used in our applications that host APIs and those that
263
249
  consume them.