module DependencyManager::ConfigSchemaMacros
Class-level methods for validation of configurations
Public Class Methods
included(klass)
click to toggle source
Hook for binding class-level methods to the child class
@param klass [Class]
Factory to bind to
@return [void]
# File lib/dependency_manager/config_schema_macros.rb, line 12 def self.included(klass) klass.extend(ClassMethods) end
Public Instance Methods
validate(target: configuration)
click to toggle source
Runs validation against configuration without throwing errors
@param target: configuration [Hash[Symbol, Any]]
Configuration to validate, defaulting to `configuration`
@return [Dry::Validation::Result]
# File lib/dependency_manager/config_schema_macros.rb, line 22 def validate(target: configuration) self.class.validate(**target) end
validate!(target: configuration)
click to toggle source
Immediate return validation that will raise an exception if the contract is not fulfilled
@param target: configuration [Hash[Symbol, Any]]
Configuration to validate, defaulting to `configuration`
@raises [ArgumentError]
Failure
@return [TrueClass]
Success
# File lib/dependency_manager/config_schema_macros.rb, line 37 def validate!(target: configuration) validation_result = validate(target: target) return true if validation_result.success? errors = validation_result .errors .map { |e| "#{e.path} #{e.text}" } .join(', ') raise ArgumentError, "Configuration is invalid: #{errors}" end