module MailchimpAPI::Support::Enumerable
Public Instance Methods
enumerator(page_size: 10, params: {})
click to toggle source
# File lib/mailchimp_api/resources/support/enumerable.rb, line 5 def enumerator(page_size: 10, params: {}) CachingEnumerator.new do |y| number_of_items = count params: params number_of_pages = (number_of_items / page_size).ceil current_page = 0 loop do all_params = { offset: current_page * page_size, count: page_size }.merge(params) results = find :all, params: all_params current_page += 1 results.each do |result| y.yield result end break if results.empty? || (current_page >= number_of_pages) end end end