Sha256: e9cea0a509c7193dd09065674b2138c26076f48a39747b76502b1a121a9ca067

Contents?: true

Size: 385 Bytes

Versions: 1

Compression:

Stored size: 385 Bytes

Contents

# frozen_string_literal: true

require 'active_model'

class TypeValidator
  class ByArrayOf
    def self.invalid?(value, options)
      types = Array(options[:array_of])

      return if value.is_a?(Array) && !value.empty? && value.all? { |value| types.any? { |type| value.is_a?(type) } }

      "must be an array of: #{types.map { |klass| klass.name }.join(', ')}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
type_validator-0.7.0 lib/type_validator/by_array_of.rb