Sha256: 96e5be5300345154c416d153be8139162a7aeb92bb94c571d96856630671aa7d
Contents?: true
Size: 635 Bytes
Versions: 12
Compression:
Stored size: 635 Bytes
Contents
module Volt class InclusionValidator def self.validate(model, field_name, args) errors = {} value = model.get(field_name) if args.is_a?(Array) list = args message = nil elsif args.is_a?(Hash) list = args[:in] message = args[:message] fail 'A list to match against must be specified' unless list.is_a?(Array) else fail 'The arguments to inclusion validator must be an array or a hash' end unless list.include?(value) errors[field_name] = [message || "must be one of #{list.join(', ')}"] end errors end end end
Version data entries
12 entries across 12 versions & 1 rubygems