class Mongoid::Enum::Dazzl::Validators::MultipleValidator
Public Class Methods
kind()
click to toggle source
# File lib/mongoid/enum/dazzl/validators/multiple_validator.rb, line 30 def self.kind :custom end
Public Instance Methods
add_error_message(record, attribute)
click to toggle source
# File lib/mongoid/enum/dazzl/validators/multiple_validator.rb, line 19 def add_error_message(record, attribute) record.errors[attribute] << ( options[:message] || "is not in #{options[:in].join ', '}" ) end
all_included?(values, allowed)
click to toggle source
# File lib/mongoid/enum/dazzl/validators/multiple_validator.rb, line 26 def all_included?(values, allowed) (values - allowed).empty? end
validate_each(record, attribute, values)
click to toggle source
# File lib/mongoid/enum/dazzl/validators/multiple_validator.rb, line 8 def validate_each(record, attribute, values) values = Array(values) if options[:allow_nil] add_error_message record, attribute \ unless all_included?(values, options[:in]) elsif values.empty? || !all_included?(values, options[:in]) add_error_message record, attribute end end