Sha256: 2c2ce3e4006b4a55aee55a710c7c51e581224b1bb69ad2ccc8dadfcd4a4c041f
Contents?: true
Size: 1.11 KB
Versions: 4
Compression:
Stored size: 1.11 KB
Contents
module Algolia class PaginatorIterator < BaseIterator # @param transporter [Transport::Transport] transporter used for requests # @param index_name [String] Name of the index # @param opts [Hash] contains extra parameters to send with your query # def initialize(transporter, index_name, opts) super(transporter, index_name, opts) @data = { hitsPerPage: 1000, page: 0 } end def each loop do if @response if @response[:hits].length @response[:hits].each do |hit| hit.delete(:_highlightResult) yield hit end if @response[:nbHits] < @data[:hitsPerPage] @response = nil @data = { hitsPerPage: 1000, page: 0 } raise StopIteration end end end @response = @transporter.read(:POST, get_endpoint, @data, @opts) @data[:page] += 1 end end def get_endpoint raise AlgoliaError, 'Method must be implemented' end end end
Version data entries
4 entries across 4 versions & 1 rubygems