class SolveBio::BatchQuery

BatchQuery accepts a list of Query objects and executes them in a single request to /v1/batch_query.

Public Class Methods

new(queries) click to toggle source

Expects a list of Query objects.

# File lib/solvebio/query.rb, line 316
def initialize(queries)
    unless queries.kind_of?(Array)
        queries = [queries]
    end

    @queries = queries
end

Public Instance Methods

build_query() click to toggle source
# File lib/solvebio/query.rb, line 324
def build_query
    query = {:queries => []}

    @queries.each do |i|
        q = i.build_query
        q.merge!(
            :dataset => i.dataset_id,
            :limit => [i.page_size, i.limit].min
        )
        query[:queries] << q
    end

    return query
end
execute(params={}) click to toggle source
# File lib/solvebio/query.rb, line 339
def execute(params={})
    _params = build_query()
    _params.merge!(params)
    response = Client.post('/v1/batch_query', _params)
    return response
end