Sha256: baf4d42e56d27628e2b42c2473c1d6e51e00542789ccef85da5f7bc438f1864a
Contents?: true
Size: 621 Bytes
Versions: 2
Compression:
Stored size: 621 Bytes
Contents
require 'active_model_validators_ex/array_validator_base' class ArrayInclusionValidator < ArrayValidatorBase def initialize(options) unless options.key?(:in) && (options[:in].is_a?(Array) || options[:in].is_a?(Range)) raise 'key in must be present, and value must be either a Range or Array' end super(options) end def custom_validations(record, attribute, value) unless value.all? { |val| options[:in].include?(val) } record.errors[attribute] << "attribute #{attribute} has be an array composed of values " \ "#{options[:in]}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_model_validators_ex-0.3.1 | lib/active_model_validators_ex/array_inclusion_validator.rb |
active_model_validators_ex-0.3.0 | lib/active_model_validators_ex/array_inclusion_validator.rb |