module Devise::Models::UncommonPassword
The UncommonPassword
module adds a new validation for Devise
Models
. No modifications to routes or controllers needed. Simply add :uncommon_password to the list of included modules in your devise module, and all new registrations will be blocked if they use a common password.
Public Class Methods
common_passwords()
click to toggle source
Returns a list of the 100 most common passwords.
# File lib/devise/uncommon_password/model.rb, line 11 def self.common_passwords passwords_file = File.join(File.dirname(__FILE__), Devise.password_text_file) passwords = [] File.open(passwords_file, "r") do |file| file.each { |password| passwords << password.chomp.downcase } end passwords.select! {|password| Devise.password_length.include? password.length } passwords[0..Devise.password_matches-1] end
Private Instance Methods
not_common_password()
click to toggle source
# File lib/devise/uncommon_password/model.rb, line 33 def not_common_password if Devise::Models::UncommonPassword.common_passwords.include? password.downcase errors.add(:password, :common_password) end end