Class: Trackguard::Visitor
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- Trackguard::Visitor
- Defined in:
- app/models/trackguard/visitor.rb
Constant Summary collapse
- FLAGGED_BY =
[ "User", "claw:auto", "Recurring Job", "Internal Automation", "External Automation" ].freeze
- SUSPICIOUS_STATES =
%w[normal suspicious blocked].freeze
- CACHE_KEY =
"trackguard/flagged_ips".freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.flagged?(ip) ⇒ Boolean
25 26 27 28 29 30 31 |
# File 'app/models/trackguard/visitor.rb', line 25 def self.flagged?(ip) flagged_ips = Rails.cache.fetch(CACHE_KEY, expires_in: 5.minutes) do flagged.pluck(:ip) end flagged_ips.include?(ip) end |
Instance Method Details
#blocked? ⇒ Boolean
23 |
# File 'app/models/trackguard/visitor.rb', line 23 def blocked? = suspicious_state == "blocked" |
#normal? ⇒ Boolean
21 |
# File 'app/models/trackguard/visitor.rb', line 21 def normal? = suspicious_state == "normal" |
#suspicious? ⇒ Boolean
22 |
# File 'app/models/trackguard/visitor.rb', line 22 def suspicious? = suspicious_state == "suspicious" |