Module: Authlogic::ORMAdapters::ActiveRecordAdapter::LoggedIn
- Defined in:
- lib/authlogic/orm_adapters/active_record_adapter/acts_as_authentic/logged_in.rb
Overview
:nodoc:
Instance Method Summary collapse
Instance Method Details
#acts_as_authentic_with_logged_in(options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/authlogic/orm_adapters/active_record_adapter/acts_as_authentic/logged_in.rb', line 5 def acts_as_authentic_with_logged_in( = {}) acts_as_authentic_without_logged_in() [:logged_in_timeout] ||= 10.minutes validates_numericality_of :login_count, :only_integer => :true, :greater_than_or_equal_to => 0, :allow_nil => true if column_names.include?("login_count") if column_names.include?("last_request_at") named_scope :logged_in, lambda { {:conditions => ["last_request_at > ?", [:logged_in_timeout].ago]} } named_scope :logged_out, lambda { {:conditions => ["last_request_at is NULL or last_request_at <= ?", [:logged_in_timeout].ago]} } end class_eval <<-"end_eval", __FILE__, __LINE__ def self.logged_in_timeout #{[:logged_in_timeout].to_i}.seconds end end_eval if column_names.include?("last_request_at") class_eval <<-"end_eval", __FILE__, __LINE__ def logged_in? !last_request_at.nil? && last_request_at > self.class.logged_in_timeout.ago end end_eval end end |