class Reform::Validation::Groups::Validate

Runs all validations groups according to their rules and returns all Result objects.

Public Class Methods

call(groups, form) click to toggle source
# File lib/reform/validation/groups.rb, line 41
def self.call(groups, form)
  results = {}

  groups.collect do |(name, group, options)|
    next unless evaluate?(options[:if], results, form)
    results[name] = group.(form) # run validation for group. store and collect <Result>.
  end
end
evaluate?(depends_on, results, form) click to toggle source
# File lib/reform/validation/groups.rb, line 50
def self.evaluate?(depends_on, results, form)
  return true if depends_on.nil?
  return !results[depends_on].nil? && results[depends_on].success? if depends_on.is_a?(Symbol)
  form.instance_exec(results, &depends_on)
end