password_strength_validator 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/password_strength_validator/validator.rb +3 -8
- data/lib/password_strength_validator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10a64ed36419b25c0f0f79deb40c75bef2b2e45a
|
4
|
+
data.tar.gz: 8eff9d69049ea664c895527e2885c67c744a5282
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06199d82e45ae4ca4bf17c96d58e3a727ba77d106a4edde8f2f40ec2fe6421ed2173017bb38ddc9b6443a15cbf258beaf6b1cfc89fb9a3a2f71ff2b91696df7b
|
7
|
+
data.tar.gz: 9d31f2f975ecde6f8e11e51efaaa14d7264e98cd68f66f1562c1edfa76a6a035fb971fb312bfb02451b1d06369d6c0f0562ee7c2c08dab10ab2517bb2a891fb4
|
data/README.md
CHANGED
@@ -10,12 +10,7 @@ module PasswordStrengthValidator
|
|
10
10
|
number_of_symbols: 0,
|
11
11
|
}.freeze
|
12
12
|
|
13
|
-
SYMBOLS = [
|
14
|
-
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
15
|
-
58, 59, 60, 61, 62, 63, 64,
|
16
|
-
91, 92, 93, 94, 95, 96,
|
17
|
-
123, 124, 125, 126
|
18
|
-
].freeze
|
13
|
+
SYMBOLS = %w[!@"#$%&'()*+,-./:;<=>?[\\]^_`{|}~].first.unpack('C*').freeze
|
19
14
|
|
20
15
|
class Validator
|
21
16
|
def initialize(password, options = {})
|
@@ -40,11 +35,11 @@ module PasswordStrengthValidator
|
|
40
35
|
end
|
41
36
|
|
42
37
|
def has_enough_digits?
|
43
|
-
@password.
|
38
|
+
@password.each_char.grep(/[0-9]/).size >= @options.number_of_digits
|
44
39
|
end
|
45
40
|
|
46
41
|
def has_enough_symbols?
|
47
|
-
@password.
|
42
|
+
@password.each_char.map(&:ord).select { |c| SYMBOLS.include?(c) }.size >= @options.number_of_symbols
|
48
43
|
end
|
49
44
|
end
|
50
45
|
end
|