Class: GraphQL::Query::Context::FieldResolutionContext
- Inherits:
 - 
      Object
      
        
- Object
 - GraphQL::Query::Context::FieldResolutionContext
 
 
- Extended by:
 - Forwardable
 
- Includes:
 - SharedMethods, Tracing::Traceable
 
- Defined in:
 - lib/graphql/query/context.rb
 
Instance Attribute Summary collapse
- 
  
    
      #field  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute field.
 - 
  
    
      #irep_node  ⇒ Object 
    
    
      (also: #selection)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute irep_node.
 - 
  
    
      #key  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute key.
 - 
  
    
      #parent  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute parent.
 - 
  
    
      #parent_type  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute parent_type.
 - 
  
    
      #query  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute query.
 - 
  
    
      #schema  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute schema.
 - 
  
    
      #type  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute type.
 - 
  
    
      #wrapped_connection  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  private
  
    
 - 
  
    
      #wrapped_object  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  private
  
    
 
Attributes included from SharedMethods
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, key, irep_node, parent, object)  ⇒ FieldResolutionContext 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of FieldResolutionContext.
 - 
  
    
      #inspect  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #path  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #value=(new_value)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  private
  
    
Set a new value for this field in the response.
 
Methods included from Tracing::Traceable
Methods included from SharedMethods
#backtrace, #delete_child, #execution_errors, #invalid_null?, #lookahead, #skip, #spawn_child
Constructor Details
#initialize(context, key, irep_node, parent, object) ⇒ FieldResolutionContext
Returns a new instance of FieldResolutionContext.
      263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279  | 
    
      # File 'lib/graphql/query/context.rb', line 263 def initialize(context, key, irep_node, parent, object) @context = context @key = key @parent = parent @object = object @irep_node = irep_node @field = irep_node.definition @parent_type = irep_node.owner_type @type = field.type # This is needed constantly, so set it ahead of time: @query = context.query @schema = context.schema @tracers = @query.tracers # This hack flag is required by ConnectionResolve @wrapped_connection = false @wrapped_object = false end  | 
  
Instance Attribute Details
#field ⇒ Object (readonly)
Returns the value of attribute field.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def field @field end  | 
  
#irep_node ⇒ Object (readonly) Also known as: selection
Returns the value of attribute irep_node.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def irep_node @irep_node end  | 
  
#key ⇒ Object (readonly)
Returns the value of attribute key.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def key @key end  | 
  
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def parent @parent end  | 
  
#parent_type ⇒ Object (readonly)
Returns the value of attribute parent_type.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def parent_type @parent_type end  | 
  
#query ⇒ Object (readonly)
Returns the value of attribute query.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def query @query end  | 
  
#schema ⇒ Object (readonly)
Returns the value of attribute schema.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def schema @schema end  | 
  
#type ⇒ Object (readonly)
Returns the value of attribute type.
      260 261 262  | 
    
      # File 'lib/graphql/query/context.rb', line 260 def type @type end  | 
  
#wrapped_connection ⇒ 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.
      282 283 284  | 
    
      # File 'lib/graphql/query/context.rb', line 282 def wrapped_connection @wrapped_connection end  | 
  
#wrapped_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.
      282 283 284  | 
    
      # File 'lib/graphql/query/context.rb', line 282 def wrapped_object @wrapped_object end  | 
  
Instance Method Details
#add_error(error) ⇒ void
This method returns an undefined value.
Add error to current field resolution.
      301 302 303 304 305 306  | 
    
      # File 'lib/graphql/query/context.rb', line 301 def add_error(error) super error.ast_node ||= irep_node.ast_node error.path ||= path nil end  | 
  
#ast_node ⇒ GraphQL::Language::Nodes::Field
Returns The AST node for the currently-executing field.
      294 295 296  | 
    
      # File 'lib/graphql/query/context.rb', line 294 def ast_node @irep_node.ast_node end  | 
  
#inspect ⇒ Object
      308 309 310  | 
    
      # File 'lib/graphql/query/context.rb', line 308 def inspect "#<GraphQL Context @ #{irep_node.owner_type.name}.#{field.name}>" end  | 
  
#path ⇒ Object
      284 285 286  | 
    
      # File 'lib/graphql/query/context.rb', line 284 def path @path ||= @parent.path.dup << @key end  | 
  
#value=(new_value) ⇒ 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.
Set a new value for this field in the response. It may be updated after resolving a Lazy. If it is Execute::PROPAGATE_NULL, tell the owner to propagate null. If it’s Execute::Execution::SKIP, remove this field result from its parent
      318 319 320 321 322 323 324 325 326 327 328 329 330 331 332  | 
    
      # File 'lib/graphql/query/context.rb', line 318 def value=(new_value) case new_value when GraphQL::Execution::Execute::PROPAGATE_NULL, nil @invalid_null = true @value = nil if @type.kind.non_null? @parent.received_null_child end when GraphQL::Execution::Execute::SKIP @parent.skipped = true @parent.delete_child(self) else @value = new_value end end  |