Class: GraphQL::Query::BaseExecution

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/query/base_execution.rb,
lib/graphql/query/base_execution/value_resolution.rb

Direct Known Subclasses

SerialExecution

Defined Under Namespace

Modules: ValueResolution

Instance Method Summary collapse

Instance Method Details

#execute(ast_operation, root_type, query_obj) ⇒ 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.

Parameters:

Returns:

  • (Hash)

    a spec-compliant GraphQL result, as a hash



14
15
16
17
# File 'lib/graphql/query/base_execution.rb', line 14

def execute(ast_operation, root_type, query_obj)
  resolver = operation_resolution.new(ast_operation, root_type, query_obj, self)
  resolver.result
end

#field_resolutionObject



19
20
21
# File 'lib/graphql/query/base_execution.rb', line 19

def field_resolution
  self.class::FieldResolution
end

#operation_resolutionObject



23
24
25
# File 'lib/graphql/query/base_execution.rb', line 23

def operation_resolution
  self.class::OperationResolution
end

#selection_resolutionObject



27
28
29
# File 'lib/graphql/query/base_execution.rb', line 27

def selection_resolution
  self.class::SelectionResolution
end