Sha256: c370286c2767360e3629a63c288f47169ea5065e4a86e40b279bf7bfcdc16047

Contents?: true

Size: 547 Bytes

Versions: 14

Compression:

Stored size: 547 Bytes

Contents

require 'config/validation/error'

module Config
  module Validation
    module Validate
      def validate!
        validate_using!(Config.validation_contract)
        validate_using!(Config.schema)
      end

      private

      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
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
config-5.2.0 lib/config/validation/validate.rb
config-5.1.0 lib/config/validation/validate.rb
config-5.0.0 lib/config/validation/validate.rb
config-4.2.1 lib/config/validation/validate.rb
config-4.2.0 lib/config/validation/validate.rb
config-4.1.0 lib/config/validation/validate.rb
config-4.0.0 lib/config/validation/validate.rb
config-3.1.1 lib/config/validation/validate.rb
config-3.1.0 lib/config/validation/validate.rb
config-3.0.0 lib/config/validation/validate.rb
config-2.2.3 lib/config/validation/validate.rb
config-2.2.2 lib/config/validation/validate.rb
config-2.2.1 lib/config/validation/validate.rb
config-2.1.0 lib/config/validation/validate.rb