Module: GraphQL::Query::Context::SharedMethods
- Included in:
- GraphQL::Query::Context, FieldResolutionContext
- Defined in:
- lib/graphql/query/context.rb
Instance Attribute Summary collapse
- 
  
    
      #object  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The target for field resultion. 
- 
  
    
      #skipped  ⇒ Boolean 
    
    
      (also: #skipped?)
    
  
  
  
  
    
    
  
  
  
  
  
  
    Were any fields of this selection skipped?. 
- 
  
    
      #value  ⇒ Hash, ... 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The resolved value for this field. 
Instance Method Summary collapse
- 
  
    
      #add_error(error)  ⇒ void 
    
    
  
  
  
  
  
  
  
  
  
    Add error at query-level. 
- 
  
    
      #backtrace  ⇒ GraphQL::Backtrace 
    
    
  
  
  
  
  
  
  
  
  
    The backtrace for this point in query execution. 
- 
  
    
      #delete(child_ctx)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  private
  
    Remove this child from the result value (used for null propagation and skip). 
- #execution_errors ⇒ Object
- 
  
    
      #invalid_null?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    True if this selection has been nullified by a null child. 
- #lookahead ⇒ Object
- 
  
    
      #skip  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Return this value to tell the runtime to exclude this field from the response altogether. 
- 
  
    
      #spawn_child(key:, irep_node:, object:)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  private
  
    Create a child context to use for key.
Instance Attribute Details
#object ⇒ Object
Returns The target for field resultion.
| 11 12 13 | # File 'lib/graphql/query/context.rb', line 11 def object @object end | 
#skipped ⇒ Boolean Also known as: skipped?
Returns were any fields of this selection skipped?.
| 17 18 19 | # File 'lib/graphql/query/context.rb', line 17 def skipped @skipped end | 
#value ⇒ Hash, ... (readonly)
Returns The resolved value for this field.
| 14 15 16 | # File 'lib/graphql/query/context.rb', line 14 def value @value end | 
Instance Method Details
#add_error(error) ⇒ void
This method returns an undefined value.
Add error at query-level.
| 58 59 60 61 62 63 64 | # File 'lib/graphql/query/context.rb', line 58 def add_error(error) if !error.is_a?(ExecutionError) raise TypeError, "expected error to be a ExecutionError, but was #{error.class}" end errors << error nil end | 
#backtrace ⇒ GraphQL::Backtrace
Returns The backtrace for this point in query execution.
| 70 71 72 | # File 'lib/graphql/query/context.rb', line 70 def backtrace GraphQL::Backtrace.new(self) end | 
#delete(child_ctx) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Remove this child from the result value (used for null propagation and skip)
| 37 38 39 | # File 'lib/graphql/query/context.rb', line 37 def delete(child_ctx) @value.delete(child_ctx.key) end | 
#execution_errors ⇒ Object
| 74 75 76 | # File 'lib/graphql/query/context.rb', line 74 def execution_errors @execution_errors ||= ExecutionErrors.new(self) end | 
#invalid_null? ⇒ Boolean
Returns True if this selection has been nullified by a null child.
| 30 31 32 | # File 'lib/graphql/query/context.rb', line 30 def invalid_null? @invalid_null end | 
#lookahead ⇒ Object
| 78 79 80 81 82 | # File 'lib/graphql/query/context.rb', line 78 def lookahead ast_nodes = irep_node.ast_nodes field = irep_node.definition.[:type_class] || raise("Lookahead is only compatible with class-based schemas") Execution::Lookahead.new(query: query, ast_nodes: ast_nodes, field: field) end | 
#skip ⇒ Object
Return this value to tell the runtime to exclude this field from the response altogether
| 25 26 27 | # File 'lib/graphql/query/context.rb', line 25 def skip GraphQL::Execution::Execute::SKIP end | 
#spawn_child(key:, irep_node:, object:) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Create a child context to use for key
| 45 46 47 48 49 50 51 52 53 | # File 'lib/graphql/query/context.rb', line 45 def spawn_child(key:, irep_node:, object:) FieldResolutionContext.new( context: @context, parent: self, object: object, key: key, irep_node: irep_node, ) end |