class Validation::Validator
Attributes
errors[R]
rules[R]
Public Class Methods
new()
click to toggle source
# File lib/validation/validator.rb, line 10 def initialize @rules = {} @errors = {} end
Public Instance Methods
add_rule(field, rule, message)
click to toggle source
# File lib/validation/validator.rb, line 15 def add_rule(field, rule, message) @rules[field] ||= [] @rules[field].push({'rule' => rule, 'message' => message}) end
reset_errors()
click to toggle source
# File lib/validation/validator.rb, line 39 def reset_errors @errors = {} end
valid?()
click to toggle source
# File lib/validation/validator.rb, line 35 def valid? @errors.empty? end
validate(params)
click to toggle source
# File lib/validation/validator.rb, line 20 def validate(params) reset_errors @rules.each do |field, rules| rules.each do |rule| method, *args = rule['rule'].split(',').map(&:strip) args = [params, field] + args unless send("validates_#{method}", *args) @errors[field] ||= [] @errors[field].push(rule['message']) end end end valid? end