Sha256: 9558641bed0334045e566b102e7bdd3bf9b2a13dd565bbe63a5d68ccc24a2bd8
Contents?: true
Size: 788 Bytes
Versions: 41
Compression:
Stored size: 788 Bytes
Contents
# frozen_string_literal: true class MiniDefender::Rules::MinDigits < MiniDefender::Rule def initialize(limit) raise ArgumentError, 'Limit must be a string.' unless limit.is_a?(Integer) @limit = limit end def self.signature 'min_digits' end def self.make(args) raise ArgumentError, 'Expected at least one argument for min_digits.' unless args.length == 1 new(args[0].to_i) end def passes?(attribute, value, validator) @integers = valid = value.is_a?(Integer) || value.is_a?(String) && value.match?(/^\d+$/) valid && value.to_s.length >= @limit end def message(attribute, value, validator) if @integers 'The field should only contain digits.' else "The field should have at least #{@limit} digits." end end end
Version data entries
41 entries across 41 versions & 1 rubygems