Skip to content

Commit ba7b2c1

Browse files
committed
pagination skipped the last page
1 parent 78cd862 commit ba7b2c1

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

.ruby-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.9.3-p392

lib/adcloud/endless_pages.rb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ def perform(&block)
3333
page_result = params[:page_result] ||= []
3434

3535
begin
36+
Adcloud::logger.debug "Page: #{page}"
37+
3638
raw_result = conn.get(endpoint, params)
3739
total_pages = raw_result['_meta']['total_pages']
38-
40+
Adcloud::logger.debug "total_pages: #{total_pages}"
3941
page_result = self.new(raw_result) # your service class needs to include Virtus
4042
# if a block is provided then start returning results right away
4143
page_result.items.each do |item|
@@ -44,7 +46,6 @@ def perform(&block)
4446

4547
paged_items += page_result.items
4648
page += 1
47-
4849
rescue => ex
4950
if retry_count <= 5
5051
retry
@@ -53,8 +54,8 @@ def perform(&block)
5354
raise ApiError, "Connection failed"
5455
end
5556
retry_count += 1
56-
end while page < total_pages
57-
57+
end while page <= total_pages
58+
Adcloud::logger.debug "Items: #{paged_items.length}"
5859
paged_items
5960
end
6061

0 commit comments

Comments
 (0)