def each
      return enum_for(:each) unless block_given?

      index = 1

      until ((next_page = page_cache[index]).empty?) do
        yield next_page
        index = index + 1
      end

      return self
    end
def each
      return enum_for(:each) unless block_given?

      index = 1

      until ((next_page = page_cache[index]).empty?) do
        yield next_page
        index = index + 1
      end

      return self
    end
Iterates over all the pages of the query, until an empty page is
 encountered.

 @yield [page]
   A page with results from the query.

 @yieldparam [Page] page
   A non-empty page from the query.