module Config::Validation::Validate

Public Instance Methods

validate!() click to toggle source
# File lib/config/validation/validate.rb, line 6
def validate!
  return unless Config.validation_contract || Config.schema

  Config::DryValidationRequirements.load_dry_validation!

  validate_using!(Config.validation_contract)
  validate_using!(Config.schema)
end

Private Instance Methods

validate_using!(validator) click to toggle source
# File lib/config/validation/validate.rb, line 17
def validate_using!(validator)
  if validator
    result = validator.call(to_hash)

    return if result.success?

    error = Config::Validation::Error.format(result)
    raise Config::Validation::Error, "Config validation failed:\n\n#{error}"
  end
end