Sha256: 370d84f89214e4278ecc26c642606d2fdd43f0eb0f96ee08a61b7a19e903c7b7
Contents?: true
Size: 393 Bytes
Versions: 3
Compression:
Stored size: 393 Bytes
Contents
# frozen_string_literal: true class KindOfValidator < ActiveModel::EachValidator def validate_each(obj, attribute, value) with_option = Array.wrap(options[:with] || options[:in]) return if with_option.any? { |type| value.is_a?(type) } expectation = with_option.map(&:name).join(" | ") obj.errors.add(attribute, (options[:message] || "is not a #{expectation}")) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
solid-process-0.3.0 | lib/solid/validators/kind_of_validator.rb |
solid-process-0.2.0 | lib/solid/validators/kind_of_validator.rb |
solid-process-0.1.0 | lib/solid/validators/kind_of_validator.rb |