module Authlogic::ActsAsAuthentic::LoggedInStatus::Methods

All methods for the logged in status feature seat.

Public Class Methods

included(klass) click to toggle source
# File lib/authlogic/acts_as_authentic/logged_in_status.rb, line 30
def self.included(klass)
  return unless klass.column_names.include?("last_request_at")

  klass.class_eval do
    include InstanceMethods
    scope(
      :logged_in,
      lambda do
        where(
          "last_request_at > ? and current_login_at IS NOT NULL",
          logged_in_timeout.seconds.ago
        )
      end
    )
    scope(
      :logged_out,
      lambda do
        where(
          "last_request_at is NULL or last_request_at <= ?",
          logged_in_timeout.seconds.ago
        )
      end
    )
  end
end