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.
Instance Attribute Summary collapse
- 
  
    
      #errors  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute errors. 
- 
  
    
      #max_errors  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute max_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. 
- 
  
    
      #schema  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute schema. 
- 
  
    
      #types  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute types. 
- 
  
    
      #visitor  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    Returns the value of attribute visitor. 
Instance Method Summary collapse
- 
  
    
      #initialize(query, visitor_class, max_errors)  ⇒ ValidationContext 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of ValidationContext. 
- 
  
    
      #on_dependency_resolve(&handler)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #schema_directives  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #too_many_errors?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
- 
  
    
      #validate_literal(ast_value, type)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Constructor Details
#initialize(query, visitor_class, max_errors) ⇒ ValidationContext
Returns a new instance of ValidationContext.
| 21 22 23 24 25 26 27 28 29 30 | # File 'lib/graphql/static_validation/validation_context.rb', line 21 def initialize(query, visitor_class, max_errors) @query = query @types = query.types # TODO update migrated callers to use this accessor @schema = query.schema @literal_validator = LiteralValidator.new(context: query.context) @errors = [] @max_errors = max_errors || Float::INFINITY @on_dependency_resolve_handlers = [] @visitor = visitor_class.new(document, self) end | 
Instance Attribute Details
#errors ⇒ Object (readonly)
Returns the value of attribute errors.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def errors @errors end | 
#max_errors ⇒ Object (readonly)
Returns the value of attribute max_errors.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def max_errors @max_errors end | 
#on_dependency_resolve_handlers ⇒ Object (readonly)
Returns the value of attribute on_dependency_resolve_handlers.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def on_dependency_resolve_handlers @on_dependency_resolve_handlers end | 
#query ⇒ Object (readonly)
Returns the value of attribute query.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def query @query end | 
#schema ⇒ Object (readonly)
Returns the value of attribute schema.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def schema @schema end | 
#types ⇒ Object (readonly)
Returns the value of attribute types.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def types @types end | 
#visitor ⇒ Object (readonly)
Returns the value of attribute visitor.
| 14 15 16 | # File 'lib/graphql/static_validation/validation_context.rb', line 14 def visitor @visitor end | 
Instance Method Details
#on_dependency_resolve(&handler) ⇒ Object
| 36 37 38 | # File 'lib/graphql/static_validation/validation_context.rb', line 36 def on_dependency_resolve(&handler) @on_dependency_resolve_handlers << handler end | 
#schema_directives ⇒ Object
| 48 49 50 | # File 'lib/graphql/static_validation/validation_context.rb', line 48 def schema_directives @schema_directives ||= schema.directives end | 
#too_many_errors? ⇒ Boolean
| 44 45 46 | # File 'lib/graphql/static_validation/validation_context.rb', line 44 def too_many_errors? @errors.length >= @max_errors end | 
#validate_literal(ast_value, type) ⇒ Object
| 40 41 42 | # File 'lib/graphql/static_validation/validation_context.rb', line 40 def validate_literal(ast_value, type) @literal_validator.validate(ast_value, type) end |