Class: GraphQL::Execution::Execute Private

Inherits:
Object
  • Object
show all
Includes:
ExecutionFunctions
Defined in:
lib/graphql/execution/execute.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

A valid execution strategy

Defined Under Namespace

Modules: ExecutionFunctions, FieldResolveStep Classes: PropagateNull, Skip

Constant Summary

SKIP =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Just a singleton for implementing Query::Context#skip

Skip.new
PROPAGATE_NULL =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

PropagateNull.new

Instance Method Summary collapse

Methods included from ExecutionFunctions

continue_or_wait, continue_resolve_field, lazy_resolve_root_selection, resolve_field, resolve_root_selection, resolve_selection, resolve_value

Instance Method Details

#execute(ast_operation, root_type, query) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



21
22
23
24
25
# File 'lib/graphql/execution/execute.rb', line 21

def execute(ast_operation, root_type, query)
  result = resolve_root_selection(query)
  lazy_resolve_root_selection(result, {query: query})
  GraphQL::Execution::Flatten.call(query.context)
end