Sha256: 4d8ab32dd3eedb6835b509ea27e1c2e6b2e8af0132c90df7cc5c814edb884e3a
Contents?: true
Size: 593 Bytes
Versions: 41
Compression:
Stored size: 593 Bytes
Contents
# frozen_string_literal: true require_relative 'required' class MiniDefender::Rules::RequiredWith < MiniDefender::Rules::Required def initialize(targets) unless targets.is_a?(Array) && targets.all?{ |t| t.is_a?(String) } raise ArgumentError, 'Expected an array of strings.' end @targets = targets end def self.signature 'required_with' end def self.make(args) raise ArgumentError, 'Expected at least one argument.' unless args.length >= 1 self.new(args) end def implicit?(validator) @targets.any? { |t| validator.data.key?(t) } end end
Version data entries
41 entries across 41 versions & 1 rubygems