Class: GraphQL::Query::FragmentSpreadResolutionStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/graph_ql/query/fragment_spread_resolution_strategy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ast_fragment_spread, type, target, operation_resolver) ⇒ FragmentSpreadResolutionStrategy

Returns a new instance of FragmentSpreadResolutionStrategy.



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/graph_ql/query/fragment_spread_resolution_strategy.rb', line 3

def initialize(ast_fragment_spread, type, target, operation_resolver)
  fragments = operation_resolver.query.fragments
  fragment_def = fragments[ast_fragment_spread.name]
  child_type = operation_resolver.query.schema.types[fragment_def.type]
  resolved_type = GraphQL::Query::TypeResolver.new(target, child_type, type).type
  if resolved_type.nil?
    @result = {}
  else
    selections = fragment_def.selections
    resolver = GraphQL::Query::SelectionResolver.new(target, resolved_type, selections, operation_resolver)
    @result = resolver.result
  end
end

Instance Attribute Details

#resultObject (readonly)

Returns the value of attribute result.



2
3
4
# File 'lib/graph_ql/query/fragment_spread_resolution_strategy.rb', line 2

def result
  @result
end