Sha256: c0c74a7feba06aff53ddea4b1ef28ba0a5462883d11fb8e4d533e0990b913637

Contents?: true

Size: 600 Bytes

Versions: 5

Compression:

Stored size: 600 Bytes

Contents

# frozen_string_literal: true

require "confset/validation/error"

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

      private
        def validate_using!(validator)
          if validator
            result = validator.call(to_hash)

            return if result.success?

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
confset-1.1.0 lib/confset/validation/validate.rb
confset-1.0.3 lib/confset/validation/validate.rb
confset-1.0.2 lib/confset/validation/validate.rb
confset-1.0.1 lib/confset/validation/validate.rb
confset-1.0.0 lib/confset/validation/validate.rb