Class: ValidationProfiler::Manager
- Inherits:
-
Object
- Object
- ValidationProfiler::Manager
- Defined in:
- lib/validation_profiler.rb
Instance Method Summary collapse
-
#validate(obj, profile, parent = nil) ⇒ ValidationManagerResult
Called to validate an object against a validation profile.
Instance Method Details
#validate(obj, profile, parent = nil) ⇒ ValidationManagerResult
Called to validate an object against a validation profile.
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/validation_profiler.rb', line 40 def validate(obj, profile, parent = nil) result = ValidationProfiler::ManagerResult.new validation_rules = profile.class_variable_get(:@@validation_rules) validation_rules.each do |r| if ValidationProfiler::Rules::Manager.instance == nil ValidationProfiler::Rules::Manager.new end rule = ValidationProfiler::Rules::Manager.instance.get_rule(r[:name]) outcome = rule.validate(obj, r[:field], r[:attributes], parent) if outcome.is_a?(ValidationProfiler::ManagerResult) && !outcome.outcome result.errors = result.errors + outcome.errors result.outcome = false elsif !outcome result.outcome = false result.errors.push({ field: r[:field], message: rule.(r[:field], r[:attributes], parent) }) end end result end |