public
Description: El Dorado is a full-stack community web application written in Ruby/Rails.
Homepage: http://almosteffortless.com/eldorado/
Clone URL: git://github.com/trevorturk/el-dorado.git
showing up to 500 messages in chat up automatically depending on last 
online_at
trevorturk (author)
Fri Jul 25 20:23:45 -0700 2008
commit  fd57a5ffda2323f48c1e93fa4f1493497af7a009
tree    3479c1bce3272930d89849f157790671dc9529c4
parent  3b5b04b1473a8db95883b73479ef1b31426951da
...
7
8
9
10
 
11
12
13
...
7
8
9
 
10
11
12
13
0
@@ -7,7 +7,7 @@ class MessagesController < ApplicationController
0
   skip_filter :update_online_at, :get_layout_vars, :only => [:create, :more, :refresh, :refresh_chatters]
0
   
0
   def index
0
- @messages = Message.get
0
+ @messages = Message.get(session[:online_at])
0
     current_user.update_attribute('chatting_at', Time.now.utc) if logged_in?
0
     @chatters = User.chatting
0
     unless @messages.empty?
...
4
5
6
7
8
 
 
 
 
9
10
11
...
4
5
6
 
 
7
8
9
10
11
12
13
0
@@ -4,8 +4,10 @@ class Message < ActiveRecord::Base
0
   
0
   validates_presence_of :body
0
     
0
- def self.get
0
- find(:all, :limit => 50, :order => 'messages.id desc', :include => :user)
0
+ def self.get(since = Time.now.utc)
0
+ messages = all(:limit => 500, :conditions => ['created_at > ?', since], :order => 'messages.id desc', :include => :user)
0
+ messages = all(:limit => 50, :order => 'messages.id desc', :include => :user) if messages.size < 50
0
+ messages
0
   end
0
   
0
   def self.more(id)

Comments

    No one has commented yet.