Sha256: 1829eb6ac26917f824cd237d29aade2016b729c59480442bc2da247c7d183e7e
Contents?: true
Size: 751 Bytes
Versions: 41
Compression:
Stored size: 751 Bytes
Contents
# frozen_string_literal: true class MiniDefender::Rules::StartingWith < 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 '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 start with #{@fragments[0]}." else "The value should start with one of the following #{@fragments.join(', ')}." end end end
Version data entries
41 entries across 41 versions & 1 rubygems