This commit is contained in:
19
app/models/session.rb
Normal file
19
app/models/session.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
class Session < ApplicationRecord
|
||||
ACTIVITY_REFRESH_RATE = 1.hour
|
||||
|
||||
has_secure_token
|
||||
|
||||
belongs_to :user
|
||||
|
||||
before_create { self.last_active_at ||= Time.now }
|
||||
|
||||
def self.start!(user_agent:, ip_address:)
|
||||
create! user_agent: user_agent, ip_address: ip_address
|
||||
end
|
||||
|
||||
def resume(user_agent:, ip_address:)
|
||||
if last_active_at.before?(ACTIVITY_REFRESH_RATE.ago)
|
||||
update! user_agent: user_agent, ip_address: ip_address, last_active_at: Time.now
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user