module AutoSessionTimeoutWarning::ClassMethods

Public Instance Methods

auto_session_timeout(seconds=nil) click to toggle source
# File lib/auto_session_timeout_warning.rb, line 9
def auto_session_timeout(seconds=nil)
  prepend_before_filter do |c|
    if c.session[:auto_session_expires_at] && c.session[:auto_session_expires_at] < Time.now
      c.send :before_timedout
      c.send :reset_session
    else
      unless c.request.original_url.start_with?(c.send(:active_url))
        offset = seconds || (current_user.respond_to?(:auto_timeout) ? current_user.auto_timeout : nil)
        c.session[:auto_session_expires_at] = Time.now + offset if offset && offset > 0
      end
    end
  end
end
auto_session_timeout_actions() click to toggle source
# File lib/auto_session_timeout_warning.rb, line 23
def auto_session_timeout_actions
  define_method(:active) { render_session_status }
  define_method(:timeout) { render_session_timeout }
end
before_timedout_action() click to toggle source
# File lib/auto_session_timeout_warning.rb, line 28
def before_timedout_action
  define_method(:before_timedout){}
  send(:protected, :before_timedout)
end