Module: Devise::Models::Invalidatable
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/devise_invalidatable/model.rb
Instance Method Summary collapse
- #activate_session ⇒ Object
- #exclusive_session(session_id) ⇒ Object
- #purge_old_sessions ⇒ Object
- #session_active?(session_id) ⇒ Boolean
Instance Method Details
#activate_session ⇒ Object
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_sessions ⇒ Object
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
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 |