module HackerTracker
Public Class Methods
hacker?(ip_address)
click to toggle source
# File lib/devise_hacker_tracker/models/hacker_tracker.rb, line 5 def self.hacker?(ip_address) SignInFailure.clear_outdated! failures = SignInFailure.recent.where(ip_address: ip_address) too_many_attempts?(failures) && too_many_accounts_tried?(failures) end
Private Class Methods
too_many_accounts_tried?(failures)
click to toggle source
# File lib/devise_hacker_tracker/models/hacker_tracker.rb, line 18 def self.too_many_accounts_tried?(failures) failures.distinct.count(*Devise.authentication_keys) >= Devise.maximum_accounts_attempted end
too_many_attempts?(failures)
click to toggle source
# File lib/devise_hacker_tracker/models/hacker_tracker.rb, line 14 def self.too_many_attempts?(failures) failures.size >= Devise.maximum_attempts_per_ip end