Class: GraphQL::Batch::MutationExecutionStrategy::FieldResolution

Inherits:
Query::SerialExecution::FieldResolution
  • Object
show all
Defined in:
lib/graphql/batch/mutation_execution_strategy.rb

Instance Method Summary collapse

Instance Method Details

#get_finished_value(raw_value) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/graphql/batch/mutation_execution_strategy.rb', line 4

def get_finished_value(raw_value)
  raw_value = GraphQL::Batch::Promise.resolve(raw_value).sync

  context = execution_context.query.context
  old_execution_strategy = context.execution_strategy
  begin
    context.execution_strategy = GraphQL::Batch::ExecutionStrategy.new
    result = super(raw_value)
    GraphQL::Batch::Executor.current.wait_all
    result
  ensure
    context.execution_strategy = old_execution_strategy
  end
end