Class: ElasticGraph::GraphQL::Resolvers::GraphQLAdapterBuilder
- Inherits:
-
Object
- Object
- ElasticGraph::GraphQL::Resolvers::GraphQLAdapterBuilder
- Defined in:
- lib/elastic_graph/graphql/resolvers/graphql_adapter_builder.rb
Overview
Provides an adapter to the GraphQL gem by building a resolver implementation hash as documented here:
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(runtime_metadata:, named_resolvers:, query_adapter:) ⇒ GraphQLAdapterBuilder
constructor
A new instance of GraphQLAdapterBuilder.
Constructor Details
#initialize(runtime_metadata:, named_resolvers:, query_adapter:) ⇒ GraphQLAdapterBuilder
Returns a new instance of GraphQLAdapterBuilder.
18 19 20 21 22 23 24 25 26 |
# File 'lib/elastic_graph/graphql/resolvers/graphql_adapter_builder.rb', line 18 def initialize(runtime_metadata:, named_resolvers:, query_adapter:) @runtime_metadata = @resolvers_by_name_and_field_config = named_resolvers.transform_values do |resolver_constructor| ::Hash.new do |hash, field_config| hash[field_config] = resolver_constructor.call(field_config) end end @query_adapter = query_adapter end |
Instance Method Details
#build ⇒ Object
28 29 30 31 32 |
# File 'lib/elastic_graph/graphql/resolvers/graphql_adapter_builder.rb', line 28 def build scalar_type_hash .merge(object_type_hash) .merge({"resolve_type" => _ = ->(supertype, obj, ctx) { resolve_type(supertype, obj, ctx) }}) end |