Sha256: 7be7bce1a7b4013b4b83705d49bd80893b85359306031303ede7b82b83022fe6
Contents?: true
Size: 767 Bytes
Versions: 41
Compression:
Stored size: 767 Bytes
Contents
# frozen_string_literal: true class MiniDefender::Rules::NotStartingWith < MiniDefender::Rule def initialize(fragments) unless fragments.is_a?(Array) && !fragments.empty? && fragments.all? { |f| f.is_a?(String) } raise ArgumentError, 'Expected an array of strings.' end @fragments = fragments end def self.signature 'not_starting_with' end def self.make(args) new(args) end def passes?(attribute, value, validator) @fragments.any? { |f| !value.to_s.start_with?(f) } end def message(attribute, value, validator) if @fragments.length == 1 "The value should not start with #{@fragments[0]}." else "The value should not start with one of the following #{@fragments.join(', ')}." end end end
Version data entries
41 entries across 41 versions & 1 rubygems