Report abuse


			
# Code sample to determine if a user has been recently online
# Using restful_authentication or acts_as_authenticated
# By emili.parreno AT gmail.com // jaimeiniesta AT gmail.com

migration to add last_seen_at to users


			
class AddLastSeenAtToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :last_seen_at, :datetime, :default => "2000-01-01"
  end

  def self.down
    remove_column :users, :last_seen_at
  end
end

apps/controllers/application.rb


			
class ApplicationController < ActionController::Base  
  before_filter :update_last_seen_at

  def update_last_seen_at
    if logged_in? and current_user.last_seen_at + 5.minutes < Time.now
      current_user.update_attribute("last_seen_at" ,Time.now)
    end
  end  
end

apps/models/user.rb


			
class User < ActiveRecord::Base
  def is_online?
    last_seen_at + 5.minutes > Time.now
  end
end