From 6e82dbcfff48977f7afb8a7a972fc019fc2e98c9 Mon Sep 17 00:00:00 2001 From: Nkadze Date: Sat, 4 Aug 2018 19:59:09 +0400 Subject: [PATCH] fix #6 Made this changes, as @aleccarper suggested [here](https://github.com/davidbiehl/ecwid_api/issues/6#issue-178990928) I was encountering those issue quite often while using this gem on my production app, @davidbiehl also asked for pull request, so I made it --- lib/ecwid_api/paged_ecwid_response.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/ecwid_api/paged_ecwid_response.rb b/lib/ecwid_api/paged_ecwid_response.rb index 266a09a..a1a57a8 100644 --- a/lib/ecwid_api/paged_ecwid_response.rb +++ b/lib/ecwid_api/paged_ecwid_response.rb @@ -36,13 +36,16 @@ def initialize(client, path, params = {}, &block) response = client.get(path, params) @paged_enumerator = PagedEnumerator.new(response) do |response, yielder| - response.body["items"].each do |item| - yielder << block.call(item) - end - + count, offset, total = %w(count offset total).map do |i| response.body[i].to_i end + + if count > 0 + response.body["items"].each do |item| + yielder << block.call(item) + end + end if count == 0 || count + offset >= total false @@ -52,4 +55,4 @@ def initialize(client, path, params = {}, &block) end end end -end \ No newline at end of file +end