Sha256: 31ff7d114f1c55e25c4e211511b047c200fb45d437f975dcad820feb8ae512c6
Contents?: true
Size: 781 Bytes
Versions: 2
Compression:
Stored size: 781 Bytes
Contents
class GraphQL::Query::SelectionResolver attr_reader :result RESOLUTION_STRATEGIES = { GraphQL::Nodes::Field => GraphQL::Query::FieldResolutionStrategy, GraphQL::Nodes::FragmentSpread => GraphQL::Query::FragmentSpreadResolutionStrategy, GraphQL::Nodes::InlineFragment => GraphQL::Query::InlineFragmentResolutionStrategy, } def initialize(target, type, selections, operation_resolver) @result = selections.reduce({}) do |memo, ast_field| chain = GraphQL::Query::DirectiveChain.new(ast_field, operation_resolver) { strategy_class = RESOLUTION_STRATEGIES[ast_field.class] strategy = strategy_class.new(ast_field, type, target, operation_resolver) strategy.result } memo.merge(chain.result) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
graphql-0.5.0 | lib/graph_ql/query/selection_resolver.rb |
graphql-0.4.0 | lib/graph_ql/query/selection_resolver.rb |