class LIVR::Rules::Meta::Or
Public Class Methods
new(*rule_sets)
click to toggle source
# File lib/livr/rules/meta.rb, line 171 def initialize(*rule_sets) @rule_sets = rule_sets @validators = @rule_sets.map do |rules| livr = { field: rules } Validator.new(livr).prepare end end
Public Instance Methods
call(value, user_data, field_results)
click to toggle source
# File lib/livr/rules/meta.rb, line 179 def call(value, user_data, field_results) return if is_no_value(value) last_error = nil @validators.each do |validator| result = validator.validate(field: value) if result field_results << result[:field] return nil else last_error = validator.get_errors[:field] end end last_error ? last_error : nil end