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.
Timeoutable adds the following options to devise_for:
* +timeout_in+: the interval to timeout the user session without activity.
user.timedout?(30.minutes.ago)
# File lib/devise/models/timeoutable.rb, line 23 def self.required_fields(klass) [] end
Checks whether the user session has expired based on configured time.
# File lib/devise/models/timeoutable.rb, line 28 def timedout?(last_access) !timeout_in.nil? && last_access && last_access <= timeout_in.ago end
# File lib/devise/models/timeoutable.rb, line 32 def timeout_in self.class.timeout_in end