Module: CurrentSession::SessionMethods::ActiveRecordSession

Defined in:
lib/current_session/session_methods/active_record_session.rb

Overview

Implementation of session tokens for DB management

Instance Method Summary collapse

Instance Method Details

#create(user) ⇒ Object



16
17
18
19
20
21
# File 'lib/current_session/session_methods/active_record_session.rb', line 16

def create(user)
  session_token_class.create(user_id: user.id, value: new_session_token) do |record|
    update(record)
    yield record.value
  end
end

#destroyObject



23
24
25
# File 'lib/current_session/session_methods/active_record_session.rb', line 23

def destroy
  session_token_class.find_by(value: session_token)&.destroy
end

#findObject



9
10
11
12
13
14
# File 'lib/current_session/session_methods/active_record_session.rb', line 9

def find
  session_token_class.find_by(value: session_token).try do |record|
    update(record)
    yield record.user
  end
end