How To: Add timeout_in value dynamically - heartcombo/devise GitHub Wiki
How To: Add timeout in value dynamically
This feature was added in version 1.5.2 and is not available in older versions of Devise
To dynamically set the timeout for each user, you can define a method in the user model called timeout_in that
returns the timeout value.
class User < ActiveRecord::Base
devise (...), :timeoutable
def timeout_in
return 1.year if admin?
1.day
end
end
timeout_in should return a integer with the number of
seconds (the timedout? method that devise uses calls the ago method on what timeout_in
returns). Of course, you can use Rails 10.seconds or 1.hour to improve readability.