Class: Trackguard::BlockedUserAgent

Inherits:
ApplicationRecord
  • Object
show all
Defined in:
app/models/trackguard/blocked_user_agent.rb

Constant Summary collapse

CACHE_KEY =
"trackguard/blocked_user_agent_patterns".freeze

Class Method Summary collapse

Class Method Details

.blocked?(user_agent) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
14
# File 'app/models/trackguard/blocked_user_agent.rb', line 9

def self.blocked?(user_agent)
  patterns = Rails.cache.fetch(CACHE_KEY, expires_in: 10.minutes) do
    pluck(:pattern)
  end
  patterns.any? { |p| user_agent.to_s.downcase.include?(p.downcase) }
end