Sha256: 74e4a27d20cd1942decda66254e0e8550d9e72984d5e5c04d3cacc24fb600faa
Contents?: true
Size: 581 Bytes
Versions: 28
Compression:
Stored size: 581 Bytes
Contents
# frozen_string_literal: true class MiniDefender::Rules::Digits < MiniDefender::Rule def initialize(size) raise ArgumentError, 'Size must be a positive integer' unless size.is_a?(Integer) && size > 0 @size = size end def self.signature 'digits' end def self.make(args) self.new(args[0].to_i) end def passes?(attribute, value, validator) value = value&.to_s value.is_a?(String) && /\A[0-9]+\z/.match?(value) && value.length == @size end def message(attribute, value, validator) "The field must contain #{@size} digits." end end
Version data entries
28 entries across 28 versions & 1 rubygems