Sha256: d081191aa9b8a06f9b8a6b29349707406a5d49a9ab612e631ea2ff04e81845d5
Contents?: true
Size: 533 Bytes
Versions: 12
Compression:
Stored size: 533 Bytes
Contents
# frozen_string_literal: true class PasswordValidator < BaseValidator REGEXP = { strong: /\A(?=.{4,255})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[:^alnum:]])/x, weak: /^[A-Za-z0-9.,<>:;!@#$%^&*?_~-]{1,255}$/ }.freeze def validate_each(record, attribute, value) assert_valid_strength! super end private def assert_valid_strength! assert_valid_option!(:strength, REGEXP.keys) end def strength options[:strength] || :weak end def valid_regexp? value.to_s =~ REGEXP[strength] end end
Version data entries
12 entries across 12 versions & 1 rubygems