lib/config/validation/validate.rb in config-2.0.0 vs lib/config/validation/validate.rb in config-2.1.0

- old
+ new

@@ -1,20 +1,25 @@ require 'config/validation/error' module Config module Validation module Validate - def validate! - if Config.schema - v_res = Config.schema.(self.to_hash) + validate_using!(Config.validation_contract) + validate_using!(Config.schema) + end - unless v_res.success? - error = Config::Validation::Error.format(v_res) - raise Config::Validation::Error.new("Config validation failed:\n\n#{error}") - 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