class HashValidator::Validator::OptionalValidator

Public Class Methods

new() click to toggle source
Calls superclass method HashValidator::Validator::Base::new
# File lib/hash_validator/validators/optional_validator.rb, line 4
def initialize
  super('_optional')  # The name of the validator, underscored as it won't usually be directly invoked (invoked through use of validator)
end

Public Instance Methods

should_validate?(validation) click to toggle source
# File lib/hash_validator/validators/optional_validator.rb, line 8
def should_validate?(validation)
  validation.is_a?(Validations::Optional)
end
validate(key, value, validations, errors) click to toggle source
# File lib/hash_validator/validators/optional_validator.rb, line 12
def validate(key, value, validations, errors)
  unless value.nil?
    ::HashValidator.validator_for(validations.validation).validate(key, value, validations.validation, errors)
    errors.delete(key) if errors[key].respond_to?(:empty?) && errors[key].empty?
  end
end