Class: Trackguard::WhitelistedIp

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

Constant Summary collapse

CACHE_KEY =
"trackguard/whitelisted_ips".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.whitelisted?(ip) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
# File 'app/models/trackguard/whitelisted_ip.rb', line 14

def self.whitelisted?(ip)
  active_ips = Rails.cache.fetch(CACHE_KEY, expires_in: 10.minutes) do
    active.pluck(:ip)
  end

  active_ips.include?(ip)
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'app/models/trackguard/whitelisted_ip.rb', line 22

def active?
  expires_at > Time.current
end