Sha256: 0479461de07b2b04c8e8c2ab3e2b013b7941139647919d5e35332b9d63523d45

Contents?: true

Size: 896 Bytes

Versions: 23

Compression:

Stored size: 896 Bytes

Contents

module Algolia
  class MultipleResponse < BaseResponse
    include Enumerable

    # @param responses [nil|Array] array of raw responses, when provided
    #
    def initialize(responses = nil)
      @raw_responses = responses || []
    end

    # Fetch the last element of the responses
    #
    def last
      @raw_responses[@raw_responses.length - 1]
    end

    # Add a new response to responses
    #
    def push(response)
      @raw_responses.push(response)
    end

    # Wait for the task to complete
    #
    # @param opts [Hash] contains extra parameters to send with your query
    #
    def wait(opts = {})
      @raw_responses.each do |response|
        response.wait(opts)
      end

      @raw_responses = []

      self
    end

    # Iterates through the responses
    #
    def each
      @raw_responses.each do |response|
        yield response
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
algolia-2.3.4 lib/algolia/responses/multiple_response.rb
algolia-2.3.3 lib/algolia/responses/multiple_response.rb
algolia-2.3.2 lib/algolia/responses/multiple_response.rb
algolia-2.3.1 lib/algolia/responses/multiple_response.rb
algolia-2.3.0 lib/algolia/responses/multiple_response.rb
algolia-2.2.5 lib/algolia/responses/multiple_response.rb
algolia-2.2.4 lib/algolia/responses/multiple_response.rb
algolia-2.2.3 lib/algolia/responses/multiple_response.rb
algolia-2.2.2 lib/algolia/responses/multiple_response.rb
algolia-2.2.1 lib/algolia/responses/multiple_response.rb
algolia-2.2.0 lib/algolia/responses/multiple_response.rb
algolia-2.1.1 lib/algolia/responses/multiple_response.rb
algolia-2.0.4 lib/algolia/responses/multiple_response.rb
algolia-2.0.3 lib/algolia/responses/multiple_response.rb
algolia-2.0.2 lib/algolia/responses/multiple_response.rb
algolia-2.0.1 lib/algolia/responses/multiple_response.rb
algolia-2.0.0 lib/algolia/responses/multiple_response.rb
algolia-2.0.0.pre.beta.3 lib/algolia/responses/multiple_response.rb
algolia-2.0.0.pre.beta.2 lib/algolia/responses/multiple_response.rb
algolia-2.0.0.pre.beta.1 lib/algolia/responses/multiple_response.rb