Module: Devise::Models::Invalidatable

Extended by:
ActiveSupport::Concern
Defined in:
lib/devise_invalidatable/model.rb

Instance Method Summary collapse

Instance Method Details

#activate_sessionObject



15
16
17
18
19
20
21
# File 'lib/devise_invalidatable/model.rb', line 15

def activate_session
  new_session = user_sessions.new
  new_session.session_id = SecureRandom.hex(127)
  new_session.save
  purge_old_sessions
  new_session.session_id
end

#exclusive_session(session_id) ⇒ Object



23
24
25
# File 'lib/devise_invalidatable/model.rb', line 23

def exclusive_session(session_id)
  user_sessions.where('session_id != ?', session_id).delete_all
end

#purge_old_sessionsObject



31
32
33
# File 'lib/devise_invalidatable/model.rb', line 31

def purge_old_sessions
  user_sessions.order('created_at desc').offset(10).destroy_all
end

#session_active?(session_id) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/devise_invalidatable/model.rb', line 27

def session_active?(session_id)
  user_sessions.where(session_id: session_id).exists?
end