Module: GraphQL::Execution::Next

Defined in:
lib/graphql/execution/next.rb,
lib/graphql/execution/next/runner.rb,
lib/graphql/execution/next/selections_step.rb,
lib/graphql/execution/next/field_resolve_step.rb,
lib/graphql/execution/next/load_argument_step.rb,
lib/graphql/execution/next/prepare_object_step.rb

Defined Under Namespace

Modules: SchemaExtension Classes: FieldResolveStep, LoadArgumentStep, PrepareObjectStep, RawValueFieldResolveStep, Runner, SelectionsStep

Class Method Summary collapse

Class Method Details

.run_all(schema, query_options, context: {}, max_complexity: schema.max_complexity) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/graphql/execution/next.rb', line 52

def self.run_all(schema, query_options, context: {}, max_complexity: schema.max_complexity)
  queries = query_options.map do |opts|
    case opts
    when Hash
      schema.query_class.new(schema, nil, **opts)
    when GraphQL::Query, GraphQL::Query::Partial
      opts
    else
      raise "Expected Hash or GraphQL::Query, not #{opts.class} (#{opts.inspect})"
    end
  end
  multiplex = Execution::Multiplex.new(schema: schema, queries: queries, context: context, max_complexity: max_complexity)
  runner = Runner.new(multiplex, **schema.execution_next_options)
  runner.execute
end

.use(schema, authorization: true) ⇒ Object



47
48
49
50
# File 'lib/graphql/execution/next.rb', line 47

def self.use(schema, authorization: true)
  schema.extend(SchemaExtension)
  schema.execution_next_options = { authorization: authorization }
end