module ZxcvbnPassword::Model
Public Instance Methods
password_zxcvbn?()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 24 def password_zxcvbn? zxcvbn_password_score.score < ::Devise.zxcvbn_min_password_score end
zxcvbn_password_crack_time()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 20 def zxcvbn_password_crack_time zxcvbn_password_score.crack_times_display["offline_slow_hashing_1e4_per_second"] end
zxcvbn_password_score()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 16 def zxcvbn_password_score @zxcvbn_password_score = self.class.zxcvbn_password_score(self) end
Private Instance Methods
i18n_variables()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 36 def i18n_variables { # feedback: zxcvbn_feedback, crack_time_display: zxcvbn_password_crack_time, score: zxcvbn_password_score.score, # zxcvbn_min_password_score: ::Devise.zxcvbn_min_password_score } end
not_zxcvbn_password()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 30 def not_zxcvbn_password if password_zxcvbn? errors.add :password, :zxcvbn, i18n_variables end end
zxcvbn_feedback()
click to toggle source
# File lib/zxcvbn_password/model.rb, line 45 def zxcvbn_feedback feedback = zxcvbn_password_score.feedback.values.flatten.reject(&:empty?) return "Add another word or two. Uncommon words are better." if feedback.empty? feedback.join(". ").gsub(/\.\s*\./, ".") end