wcc-api 0.5.1 → 0.5.2

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: 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.