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