class PasswordBreachAlert::Checker
Attributes
breaches_filter[R]
breaches_policy[R]
Public Class Methods
default_breaches_filter()
click to toggle source
# File lib/password_breach_alert/checker.rb, line 8 def self.default_breaches_filter options = Devise.breaches_filter_options.call.reverse_merge(api: PasswordBreachAlert::Api::Breachedaccount.new) Devise.breaches_filter.constantize.new(options) end
default_breaches_policy()
click to toggle source
# File lib/password_breach_alert/checker.rb, line 13 def self.default_breaches_policy Devise.breaches_policy.constantize.new end
new(breaches_filter: self.class.default_breaches_filter, breaches_policy: self.class.default_breaches_policy)
click to toggle source
# File lib/password_breach_alert/checker.rb, line 17 def initialize(breaches_filter: self.class.default_breaches_filter, breaches_policy: self.class.default_breaches_policy) @breaches_filter = breaches_filter @breaches_policy = breaches_policy end
Public Instance Methods
call(users)
click to toggle source
# File lib/password_breach_alert/checker.rb, line 22 def call(users) new_breaches = fetch_and_create_new_breaches breaches = all_breaches users.each do |user| user_breaches = breaches_filter.call(user, new_breaches, breaches) breaches_policy.call(user, user_breaches) end end
Private Instance Methods
all_breaches()
click to toggle source
# File lib/password_breach_alert/checker.rb, line 41 def all_breaches PasswordBreachAlert::Models::Breach.all end
fetch_and_create_new_breaches()
click to toggle source
# File lib/password_breach_alert/checker.rb, line 35 def fetch_and_create_new_breaches api_breaches = PasswordBreachAlert::Api::Breach.new.call PasswordBreachAlert::Models::Breach.create_new_from_api(api_breaches) end