Class: GraphQL::Query::SerialExecution
- Inherits:
-
Object
- Object
- GraphQL::Query::SerialExecution
show all
- Defined in:
- lib/graphql/query/serial_execution.rb,
lib/graphql/query/serial_execution/field_resolution.rb,
lib/graphql/query/serial_execution/value_resolution.rb,
lib/graphql/query/serial_execution/execution_context.rb,
lib/graphql/query/serial_execution/operation_resolution.rb,
lib/graphql/query/serial_execution/selection_resolution.rb
Defined Under Namespace
Modules: ValueResolution
Classes: ExecutionContext, FieldResolution, OperationResolution, SelectionResolution
Instance Method Summary
collapse
Instance Method Details
#execute(ast_operation, root_type, query_object) ⇒ Hash
This is the only required method for an Execution strategy. You could create a custom execution strategy and configure your schema to use that custom strategy instead.
12
13
14
15
16
17
18
19
20
|
# File 'lib/graphql/query/serial_execution.rb', line 12
def execute(ast_operation, root_type, query_object)
irep_root = query_object.internal_representation[ast_operation.name]
operation_resolution.new(
irep_root,
root_type,
ExecutionContext.new(query_object, self)
).result
end
|
#field_resolution ⇒ Object
22
23
24
|
# File 'lib/graphql/query/serial_execution.rb', line 22
def field_resolution
self.class::FieldResolution
end
|
#operation_resolution ⇒ Object
26
27
28
|
# File 'lib/graphql/query/serial_execution.rb', line 26
def operation_resolution
self.class::OperationResolution
end
|
#selection_resolution ⇒ Object
30
31
32
|
# File 'lib/graphql/query/serial_execution.rb', line 30
def selection_resolution
self.class::SelectionResolution
end
|