class Qonfig::Validation::Validators::MethodBased
@api private @since 0.20.0
Attributes
runtime_validation_method[R]
@return [Symbol, String]
@api private @since 0.20.0
Public Class Methods
new(setting_key_matcher, strict, runtime_validation_method)
click to toggle source
@param setting_key_matcher [Qonfig::Settings::KeyMatcher, NilClass] @param strict [Boolean] @param runtime_validation_method
[String, Symbol] @return [void]
@api private @since 0.20.0
Calls superclass method
Qonfig::Validation::Validators::Basic::new
# File lib/qonfig/validation/validators/method_based.rb, line 19 def initialize(setting_key_matcher, strict, runtime_validation_method) super(setting_key_matcher, strict) @runtime_validation_method = runtime_validation_method end
Public Instance Methods
validate_concrete(data_set)
click to toggle source
@param data_set [Qonfig::DataSet] @return [Boolean]
@api private @since 0.20.0
# File lib/qonfig/validation/validators/method_based.rb, line 29 def validate_concrete(data_set) data_set.settings.__deep_each_setting__ do |setting_key, setting_value| next unless setting_key_matcher.match?(setting_key) next if !strict && setting_value.nil? raise( Qonfig::ValidationError, "Invalid value of setting <#{setting_key}> (#{setting_value})" ) unless data_set.__send__(runtime_validation_method, setting_value) end end
validate_full(data_set)
click to toggle source
@param data_set [Qonfig::DataSet] @return [Boolean]
@api private @since 0.20.0
# File lib/qonfig/validation/validators/method_based.rb, line 46 def validate_full(data_set) unless data_set.__send__(runtime_validation_method) raise(Qonfig::ValidationError, 'Invalid config object') end end