Class: GraphQL::Schema::Validator::InclusionValidator
- Inherits:
 - 
      GraphQL::Schema::Validator
      
        
- Object
 - GraphQL::Schema::Validator
 - GraphQL::Schema::Validator::InclusionValidator
 
 
- Defined in:
 - lib/graphql/schema/validator/inclusion_validator.rb
 
Overview
You can use this to allow certain values for an argument.
Usually, a Enum is better for this, because it’s self-documenting.
Constant Summary
Constants included from EmptyObjects
EmptyObjects::EMPTY_ARRAY, EmptyObjects::EMPTY_HASH
Instance Attribute Summary
Attributes inherited from GraphQL::Schema::Validator
Instance Method Summary collapse
- 
  
    
      #initialize(in:, message: "%{validated} is not included in the list", **default_options)  ⇒ InclusionValidator 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of InclusionValidator.
 - 
  
    
      #validate(_object, _context, value)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
 
Methods inherited from GraphQL::Schema::Validator
from_config, install, #partial_format, #permitted_empty_value?, uninstall, validate!
Constructor Details
#initialize(in:, message: "%{validated} is not included in the list", **default_options) ⇒ InclusionValidator
Returns a new instance of InclusionValidator.
      18 19 20 21 22 23  | 
    
      # File 'lib/graphql/schema/validator/inclusion_validator.rb', line 18 def initialize(in:, message: "%{validated} is not included in the list", **) # `in` is a reserved word, so work around that @in_list = binding.local_variable_get(:in) @message = super(**) end  | 
  
Instance Method Details
#validate(_object, _context, value) ⇒ Object
      25 26 27 28 29 30 31  | 
    
      # File 'lib/graphql/schema/validator/inclusion_validator.rb', line 25 def validate(_object, _context, value) if permitted_empty_value?(value) # pass elsif !@in_list.include?(value) @message end end  |