Method: GraphQL::Schema#multiplex

Defined in:
lib/graphql/schema.rb

#multiplex(queries, **kwargs) ⇒ Array<Hash>

Execute several queries on itself. Raises an error if the schema definition is invalid.

Examples:

Run several queries at once

context = { ... }
queries = [
  { query: params[:query_1], variables: params[:variables_1], context: context },
  { query: params[:query_2], variables: params[:variables_2], context: context },
]
results = MySchema.multiplex(queries)
render json: {
  result_1: results[0],
  result_2: results[1],
}

Parameters:

  • queries (Array<Hash>)

    Keyword arguments for each query

  • context (Hash)

    Multiplex-level context

Returns:

  • (Array<Hash>)

    One result for each query in the input

See Also:

  • for query keyword arguments
  • for multiplex keyword arguments


297
298
299
300
301
# File 'lib/graphql/schema.rb', line 297

def multiplex(queries, **kwargs)
  with_definition_error_check {
    GraphQL::Execution::Multiplex.run_all(self, queries, **kwargs)
  }
end