blacklisted_password 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MGEyOTVhM2EwZWRjMjMwNjUxYzBkM2RjZTg4MWMxZjhjOTQ1ZTU3YQ==
4
+ ZTVhZTFhY2Q2ZTZjYTE4MmNjMTA5Y2Y2MDJkNTc0OWNmYjljMzEyMw==
5
5
  data.tar.gz: !binary |-
6
- NjMwNTc4NWY2ODE1YTE1NmI0MDYwNzNmNDE4OGVjMjZmOTk3MzU2OQ==
6
+ OTIyODBhYWQxNTUxZTQ5MTc3YWM3MmIxMTczODE4YzQxYzY4ZTU1Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTUwNWRmMGRlNWI0YzA3ZDE1NzBhYjNjNTUzNGQ1ZTZjN2Y1MjJhNzM0Y2Ex
10
- NzA2ZjM1NTUxN2FmODMxZGM0MzUzNDE2NTYwNWI0ZTM4YmIwNzYyYjA0ZWE3
11
- OGM2ZTNjZmNkMzA0NTJkZjE3ZjE4ZGJkMTlhMmMwNjNiMTJkMjM=
9
+ ZmMxOWYzMTBmZTcxOGZiODVmNzQ3MGZhNWUwZjYyM2I0ZTk4MWJkODExNjZi
10
+ ZWUzNGYxOWFkOTY0OTVjMWE3MzgzNGViODBjMGJmNDg5NGRhYjU2OTA5ZWE5
11
+ ZDFiY2ZiMjE5MzY3NDU0NzA4ZDFjODk0YzIwOWZmZTJjZTc2ZDM=
12
12
  data.tar.gz: !binary |-
13
- MmI3Y2Q5MTc0NGQzYjEwZTE4MjQ0NGU1ZWIxNjgzZWYxMjY3NzcyOGY0ZWMy
14
- ZGQ4NmZiODA3ZmM4ZDFjODVmZTNlNGI0YTMwOGEzYjE3NWJmYjUzYjc0YmFl
15
- NTVmNDc3Mjc3YjE5ZDQ1MWJjNWFkZjlkMTFlMmYzZWY4MTRiMzQ=
13
+ YjYxZTZhNTdhZmNlMTI3YjhiMjA4Y2M4MDJkMzhkMmIzMDk3OGU4NjUwYjg2
14
+ Y2EwN2IyNGFkNmQ5ZDI3M2QxNDkzMjYxYWM0ZTFkNmZjMzkzZjUyM2Y4N2U2
15
+ ZjQwMDUxNTFlMWFjNTViNGVmNTI5OTA4NWVmOWNmNzFmMTJlZGI=
@@ -0,0 +1,4 @@
1
+ ---
2
+ abc123
3
+ black
4
+ list
@@ -1,5 +1,35 @@
1
1
  require "blacklisted_password/version"
2
2
 
3
3
  module BlacklistedPassword
4
- # Your code goes here...
4
+ BLACKLISTED_PASSWORD = Rails.root.join("config/blacklist_password.yml")
5
+ def blacklist_password #This is for blacklisting password
6
+ if password.present?
7
+ array = YAML.load_file(BLACKLISTED_PASSWORD).split(' ')
8
+ email_element = email_spliting(email)
9
+ array << email_element
10
+ array.flatten!
11
+ password_in_downcase = password.downcase
12
+ @value = false
13
+ array.each do |element|
14
+ reg_string = "#{element}"
15
+ reg = Regexp.new(reg_string)
16
+ result = reg.match( password_in_downcase)
17
+ if result
18
+ @value ||= true
19
+ break
20
+ else
21
+ @value ||= false
22
+ end
23
+ end
24
+ errors.add :password, "is black listed." if @value
25
+ end
26
+ end
27
+
28
+ def email_spliting(email) #This is for possible email splitting
29
+ character_to_split = ['_','+','@','.']
30
+ character_to_split.each do |char|
31
+ email = email.split(char).join("^")
32
+ end
33
+ email.split('^')
34
+ end
5
35
  end
@@ -1,3 +1,3 @@
1
1
  module BlacklistedPassword
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklisted_password
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanmay Bagchi
@@ -51,6 +51,7 @@ files:
51
51
  - README.md
52
52
  - Rakefile
53
53
  - blacklisted_password.gemspec
54
+ - config/blacklist_password.yml
54
55
  - lib/blacklisted_password.rb
55
56
  - lib/blacklisted_password/version.rb
56
57
  homepage: ''