Module: Devise::Models::Timeoutable

Extended by:
ActiveSupport::Concern
Defined in:
lib/devise/models/timeoutable.rb

Overview

Timeoutable takes care of verifying whether a user session has already expired or not. When a session expires after the configured time, the user will be asked for credentials again, it means, they will be redirected to the sign in page.

Options

Timeoutable adds the following options to devise_for:

* +timeout_in+: the interval to timeout the user session without activity.

Examples

user.timedout?(30.minutes.ago)

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.required_fields(klass) ⇒ Object



25
26
27
# File 'lib/devise/models/timeoutable.rb', line 25

def self.required_fields(klass)
  []
end

Instance Method Details

#timedout?(last_access) ⇒ Boolean

Checks whether the user session has expired based on configured time.

Returns:

  • (Boolean)


30
31
32
# File 'lib/devise/models/timeoutable.rb', line 30

def timedout?(last_access)
  !timeout_in.nil? && last_access && last_access <= timeout_in.ago
end

#timeout_inObject



34
35
36
# File 'lib/devise/models/timeoutable.rb', line 34

def timeout_in
  self.class.timeout_in
end