Sha256: a00f96620fe64928015e981a1a66f687e6a52d67c943071c57afefc8be76efef
Contents?: true
Size: 595 Bytes
Versions: 41
Compression:
Stored size: 595 Bytes
Contents
# frozen_string_literal: true class MiniDefender::Rules::ExpiryDate < MiniDefender::Rule def self.signature 'expiry_date' end def coerce(value) "#{@month}/#{@year}" end def passes?(attribute, value, validator) return false unless value.is_a?(String) matches = /(\d{2})\s*\/\s*(\d{2,4})/.match(value.strip) return false unless matches @month = matches[1].to_i @year = matches[2].to_i @year += 2000 if year < 100 @month >= 1 && @month <= 12 && @year >= 1900 end def message(attribute, value, validator) 'Invalid expiry date.' end end
Version data entries
41 entries across 41 versions & 1 rubygems