Class: GraphQL::StaticValidation::ValidationContext
- Inherits:
 - 
      Object
      
        
- Object
 - GraphQL::StaticValidation::ValidationContext
 
 
- Extended by:
 - Forwardable
 
- Defined in:
 - lib/graphql/static_validation/validation_context.rb
 
Overview
The validation context gets passed to each validator.
It exposes a Language::Visitor where validators may add hooks. (Language::Visitor#visit is called in GraphQL::StaticValidation::Validator#validate)
It provides access to the schema & fragments which validators may read from.
It holds a list of errors which each validator may add to.
It also provides limited access to the TypeStack instance, which tracks state as you climb in and out of different fields.
Instance Attribute Summary collapse
- 
  
    
      #errors  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute errors.
 - 
  
    
      #on_dependency_resolve_handlers  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute on_dependency_resolve_handlers.
 - 
  
    
      #query  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute query.
 - 
  
    
      #visitor  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute visitor.
 
Instance Method Summary collapse
- 
  
    
      #initialize(query, visitor_class)  ⇒ ValidationContext 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of ValidationContext.
 - 
  
    
      #on_dependency_resolve(&handler)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 - 
  
    
      #valid_literal?(ast_value, type)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
 
Constructor Details
#initialize(query, visitor_class) ⇒ ValidationContext
Returns a new instance of ValidationContext
      22 23 24 25 26 27 28  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 22 def initialize(query, visitor_class) @query = query @literal_validator = LiteralValidator.new(context: query.context) @errors = [] @on_dependency_resolve_handlers = [] @visitor = visitor_class.new(document, self) end  | 
  
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors
      17 18 19  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 17 def errors @errors end  | 
  
#on_dependency_resolve_handlers ⇒ Object (readonly)
Returns the value of attribute on_dependency_resolve_handlers
      17 18 19  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 17 def on_dependency_resolve_handlers @on_dependency_resolve_handlers end  | 
  
#query ⇒ Object (readonly)
Returns the value of attribute query
      17 18 19  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 17 def query @query end  | 
  
#visitor ⇒ Object (readonly)
Returns the value of attribute visitor
      17 18 19  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 17 def visitor @visitor end  | 
  
Instance Method Details
#on_dependency_resolve(&handler) ⇒ Object
      34 35 36  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 34 def on_dependency_resolve(&handler) @on_dependency_resolve_handlers << handler end  | 
  
#valid_literal?(ast_value, type) ⇒ Boolean
      38 39 40  | 
    
      # File 'lib/graphql/static_validation/validation_context.rb', line 38 def valid_literal?(ast_value, type) @literal_validator.validate(ast_value, type) end  |