Class: ElasticGraph::GraphQL::DatastoreQuery::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/elastic_graph/graphql/datastore_query.rb

Overview

Encapsulates dependencies of ‘Query`, giving us something we can expose off of `application` to build queries when desired.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.with(runtime_metadata:, logger:, **query_defaults) ⇒ Object



348
349
350
# File 'lib/elastic_graph/graphql/datastore_query.rb', line 348

def self.with(runtime_metadata:, logger:, **query_defaults)
  new(runtime_metadata: , logger: logger, query_defaults: query_defaults)
end

Instance Method Details

#index_expression_builderObject



356
357
358
# File 'lib/elastic_graph/graphql/datastore_query.rb', line 356

def index_expression_builder
  @index_expression_builder ||= IndexExpressionBuilder.new(schema_names: .schema_element_names)
end

#new_query(**options) ⇒ Object



360
361
362
363
364
365
366
367
368
# File 'lib/elastic_graph/graphql/datastore_query.rb', line 360

def new_query(**options)
  DatastoreQuery.new(
    routing_picker: routing_picker,
    index_expression_builder: index_expression_builder,
    logger: logger,
    schema_element_names: .schema_element_names,
    **query_defaults.merge(options)
  )
end

#routing_pickerObject



352
353
354
# File 'lib/elastic_graph/graphql/datastore_query.rb', line 352

def routing_picker
  @routing_picker ||= RoutingPicker.new(schema_names: .schema_element_names)
end