Class: GraphQL::Query::Context::FieldResolutionContext
- Inherits:
-
Object
- Object
- GraphQL::Query::Context::FieldResolutionContext
- Extended by:
- Forwardable
- Defined in:
- lib/graphql/query/context.rb
Instance Attribute Summary collapse
-
#field ⇒ Object
readonly
Returns the value of attribute field.
-
#parent_type ⇒ Object
readonly
Returns the value of attribute parent_type.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#selection ⇒ Object
readonly
Returns the value of attribute selection.
Instance Method Summary collapse
-
#add_error(error) ⇒ void
Add error to current field resolution.
-
#ast_node ⇒ GraphQL::Language::Nodes::Field
The AST node for the currently-executing field.
-
#initialize(context:, path:, selection:, field:, parent_type:) ⇒ FieldResolutionContext
constructor
A new instance of FieldResolutionContext.
- #irep_node ⇒ GraphQL::InternalRepresentation::Node
- #spawn(key:, selection:, parent_type:, field:) ⇒ Object
Constructor Details
#initialize(context:, path:, selection:, field:, parent_type:) ⇒ FieldResolutionContext
Returns a new instance of FieldResolutionContext.
79 80 81 82 83 84 85 |
# File 'lib/graphql/query/context.rb', line 79 def initialize(context:, path:, selection:, field:, parent_type:) @context = context @path = path @selection = selection @field = field @parent_type = parent_type end |
Instance Attribute Details
#field ⇒ Object (readonly)
Returns the value of attribute field.
77 78 79 |
# File 'lib/graphql/query/context.rb', line 77 def field @field end |
#parent_type ⇒ Object (readonly)
Returns the value of attribute parent_type.
77 78 79 |
# File 'lib/graphql/query/context.rb', line 77 def parent_type @parent_type end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
77 78 79 |
# File 'lib/graphql/query/context.rb', line 77 def path @path end |
#selection ⇒ Object (readonly)
Returns the value of attribute selection.
77 78 79 |
# File 'lib/graphql/query/context.rb', line 77 def selection @selection end |
Instance Method Details
#add_error(error) ⇒ void
This method returns an undefined value.
Add error to current field resolution.
102 103 104 105 106 107 108 109 110 111 |
# File 'lib/graphql/query/context.rb', line 102 def add_error(error) if !error.is_a?(ExecutionError) raise TypeError, "expected error to be a ExecutionError, but was #{error.class}" end error.ast_node ||= irep_node.ast_node error.path ||= path errors << error nil end |
#ast_node ⇒ GraphQL::Language::Nodes::Field
Returns The AST node for the currently-executing field.
90 91 92 |
# File 'lib/graphql/query/context.rb', line 90 def ast_node @selection.ast_node end |
#irep_node ⇒ GraphQL::InternalRepresentation::Node
95 96 97 |
# File 'lib/graphql/query/context.rb', line 95 def irep_node @selection end |
#spawn(key:, selection:, parent_type:, field:) ⇒ Object
113 114 115 116 117 118 119 120 121 |
# File 'lib/graphql/query/context.rb', line 113 def spawn(key:, selection:, parent_type:, field:) FieldResolutionContext.new( context: @context, path: path + [key], selection: selection, parent_type: parent_type, field: field, ) end |