Sha256: 3a8af98db508200df4bf92d8377e0c33ae0de3d42825081369980270a66f788b
Contents?: true
Size: 813 Bytes
Versions: 1
Compression:
Stored size: 813 Bytes
Contents
# frozen_string_literal: true module ActiveFields module Validators class EnumArrayValidator < BaseValidator private def perform_validation(value) unless value.is_a?(Array) errors << :invalid return end validate_size(value, min: active_field.min_size, max: active_field.max_size) if active_field.allowed_values.is_a?(Array) value.each do |elem_value| validate_value_allowed(elem_value, allowed_values: active_field.allowed_values) end end if value.size != value.uniq.size errors << :duplicate end end def validate_value_allowed(value, allowed_values:) return if allowed_values.include?(value) errors << :inclusion end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_fields-0.2.0 | lib/active_fields/validators/enum_array_validator.rb |