lib/bearcat/api_array.rb in bearcat-0.9.4 vs lib/bearcat/api_array.rb in bearcat-0.9.5

- old
+ new

@@ -15,10 +15,11 @@ end def initialize(response, api_client, array_key = nil) @api_client = api_client @array_key = array_key + @page_count = 100 case response.status when 200..206 @members = process_body(response) @status = response.status @headers = response.headers @@ -43,11 +44,10 @@ @link_hash['next'] || @link_hash['prev'] end def next_page load_page('next') - end def prev_page load_page('prev') end @@ -56,9 +56,24 @@ load_page('first') end def last_page load_page('last') + end + + def each_page(page_count = 50, &block) + @page_count = page_count + block.call(@members) + while @link_hash['next'] + response = get_page(@link_hash['next']) + @headers = response.headers + @status = response.status + @method = response.env[:method] + @members = process_body(response) + init_pages(@headers[:link]) + block.call(@members) + end + @link_hash = {} end def all_pages!(page_count = 50) if pages? @page_count = page_count \ No newline at end of file