Class: Attribool::ValidatorService
- Inherits:
- 
      Object
      
        - Object
- Attribool::ValidatorService
 
- Defined in:
- lib/attribool/validator_service.rb
Overview
A simple interface to run validators, which should implement a valid? method which returns true if conditions are valid, and an error method which returns an exception class and message to be raised when validations fail.
Class Method Summary collapse
- 
  
    
      .call(validator_name, *args)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Run the validator. 
Instance Method Summary collapse
- 
  
    
      #initialize(validator, *args)  ⇒ ValidatorService 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Construct the service and inject the validator. 
- 
  
    
      #validate  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Raises the validator’s exception unless its conditions are met. 
Constructor Details
#initialize(validator, *args) ⇒ ValidatorService
Construct the service and inject the validator.
| 26 27 28 | # File 'lib/attribool/validator_service.rb', line 26 def initialize(validator, *args) @validator = validator.new(*args) end | 
Class Method Details
.call(validator_name, *args) ⇒ Object
Run the validator.
| 16 17 18 | # File 'lib/attribool/validator_service.rb', line 16 def self.call(validator_name, *args) new(::Attribool::Validators.fetch(validator_name), *args).validate end | 
Instance Method Details
#validate ⇒ Boolean
Raises the validator’s exception unless its conditions are met.
| 36 37 38 | # File 'lib/attribool/validator_service.rb', line 36 def validate @validator.valid? || raise(@validator.error) end |