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 |