Class: GraphQL::Query::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/graphql/query/context.rb

Overview

Expose some query-specific info to field resolve functions. It delegates ‘[]` to the hash that’s passed to ‘GraphQL::Query#initialize`.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(query:, values:) ⇒ Context

Make a new context which delegates key lookup to ‘values`

Parameters:

  • query (GraphQL::Query)

    the query who owns this context

  • values (Hash)

    A hash of arbitrary values which will be accessible at query-time



24
25
26
27
28
29
# File 'lib/graphql/query/context.rb', line 24

def initialize(query:, values:)
  @query = query
  @schema = query.schema
  @values = values || {}
  @errors = []
end

Instance Attribute Details

#ast_nodeGraphQL::Language::Nodes::Field

The Language::Nodes::Field for the currently-executing field.



10
11
12
# File 'lib/graphql/query/context.rb', line 10

def ast_node
  @ast_node
end

#errorsArray<GraphQL::ExecutionError> (readonly)

Returns errors returned during execution.

Returns:



13
14
15
# File 'lib/graphql/query/context.rb', line 13

def errors
  @errors
end

#execution_strategyObject

Returns the value of attribute execution_strategy.



6
7
8
# File 'lib/graphql/query/context.rb', line 6

def execution_strategy
  @execution_strategy
end

#queryGraphQL::Query (readonly)

Returns The query whose context this is.

Returns:



16
17
18
# File 'lib/graphql/query/context.rb', line 16

def query
  @query
end

#schemaGraphQL::Schema (readonly)

Returns:



19
20
21
# File 'lib/graphql/query/context.rb', line 19

def schema
  @schema
end

Instance Method Details

#[](key) ⇒ Object

Lookup ‘key` from the hash passed to Schema#execute as `context`



32
33
34
# File 'lib/graphql/query/context.rb', line 32

def [](key)
  @values[key]
end