Merge branch 'master' of github.com:diaspora/diaspora_rails

This commit is contained in:
Raphael 2010-06-30 21:19:32 -07:00
commit 63b3d0186a
9 changed files with 67 additions and 31 deletions

View file

@ -9,7 +9,6 @@ class Comment
xml_accessor :post_id
key :text, String
key :target, String
timestamps!
key :post_id, ObjectId
@ -19,6 +18,8 @@ class Comment
belongs_to :person, :class_name => "Person"
after_save :send_friends_comments_on_my_posts
after_save :send_to_view
def ==(other)
(self.message == other.message) && (self.person.email == other.person.email)
@ -32,4 +33,9 @@ class Comment
self.push_to(self.post.friends_with_permissions)
end
end
def send_to_view
WebSocket.update_clients(self)
end
end

View file

@ -1,6 +1,6 @@
%li.comment{:id => comment.id}
%li.comment{:id => post.id}
%span.from
= link_to_person comment.person
= auto_link comment.text
= link_to_person post.person
= auto_link post.text
%div.time
= "#{time_ago_in_words(comment.updated_at)} ago"
= "#{time_ago_in_words(post.updated_at)} ago"

View file

@ -1,7 +1,7 @@
%div.comments
%ul.comment_set
%ul.comment_set{:id => post.id}
- for comment in post.comments
= render "comments/comment", :comment => comment
= render 'comments/comment', :post => comment
%li.comment
= render "comments/new_comment", :post => post
= render 'comments/new_comment', :post => post

View file

@ -11,7 +11,20 @@
ws.onmessage = function(evt) {
var obj = jQuery.parseJSON(evt.data);
debug("got a " + obj['class']);
if((location.href.indexOf(obj['class']) != -1 ) || (location.pathname == '/')) {
function onPageOne() {
var c = document.location.search.charAt(document.location.search.length-1);
return ((c =='') || (c== '1'))
}
if (obj['class']=="comments"){
var post_id = obj['post_id']
$('#'+ obj['post_id'] + ' .comment_set li:last' ).before(
$(obj['html']).fadeIn("fast", function(){})
)
}else if(((location.href.indexOf(obj['class']) != -1 ) || (location.pathname == '/')) && onPageOne()) {
$("#stream").prepend(
$(obj['html']).fadeIn("fast", function(){
$("#stream label:first").inFieldLabels();
@ -24,4 +37,4 @@
ws.onopen = function() {
ws.send(location.pathname);
debug("connected...");
};});
};});

View file

@ -12,8 +12,8 @@
/= javascript_include_tag"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
= javascript_include_tag 'jquery142', 'rails', 'view', 'publisher'
= javascript_include_tag 'tiny_mce/tiny_mce.js','jquery.infieldlabel'
= render "js/google_a_js"
= render "js/websocket_js"
= render 'js/google_a_js'
= render 'js/websocket_js'
= csrf_meta_tag
= yield(:head)

View file

@ -30,7 +30,7 @@ def create(backer_number, password)
]
# Create seed user
user = User.create( :email => "b#{backer_number}@joindiaspora.com", :password => "#{password}", :profile => Profile.create( :first_name => names[backer_number][0], :last_name => names[backer_number][1] ))
user = User.create( :email => "#{names[backer_number][1]}@joindiaspora.com", :password => "#{password}", :profile => Profile.create( :first_name => names[backer_number][0], :last_name => names[backer_number][1] ))
# Make friends with Diaspora Tom
Friend.create( :email => "tom@joindiaspora.com", :url => "http://tom.joindiaspora.com/", :profile => Profile.create(:first_name => "Diaspora", :last_name => "Tom"))

View file

@ -30,22 +30,26 @@ names = [ ["George", "Washington"],
]
# Make friends
(1..10).each { |n|
Friend.create( :email => "b#{n}@joindiaspora.com", :url => "http://b#{n}.joindiaspora.com/", :profile => Profile.create(:first_name => names[n-1][0], :last_name => names[n-1][1]))
(0..9).each { |n|
Friend.create( :email => "#{names[n][1]}@joindiaspora.com", :url => "http://#{names[n][1]}.joindiaspora.com/", :profile => Profile.create(:first_name => names[n][0], :last_name => names[n][1]))
}
# Populate feed
StatusMessage.create(:message => "There's a bomb in the lasagna!?", :person => user)
Bookmark.create(:title => "xkcd", :link => "http://xkcd.com/743/", :person => user )
StatusMessage.create(:message => "I switched to Motoroi today, a Motorola Android-based phone, in Korea. Now, I am using Android phones in both the U.S. and Korea", :person => user, :created_at => Time.now-930)
StatusMessage.create(:message => "I had 5 hours to study for it :-( GREs on Thursday. Wunderbar.", :person => user, :created_at => Time.now-43990)
StatusMessage.create(:message => "Spotted in toy story 3: google maps, OSX, and windows XP. Two out of three isn't bad.", :person => user, :created_at => Time.now-4390)
Bookmark.create( :title => "Reddit", :link => "http://reddit.com", :person => user, :created_at => Time.now-54390)
Blog.create(:title => "I Love Rock'N'Roll - Joan Jett & The Blackhearts", :body => "<p>The loudspeakers played this song as we walked into the city pool for the first time this summer. Those loudspeakers make every song sound fresh even if I have heard it a thousand times and their effect on this song was no different. Joan sounded young and strong and ready, and for a moment I forgot where or when I was.</p> <p>also i can tell it wont be long and also happy summer imaginary constructs -mumblelard</p>", :person => user, :created_at => Time.now-3090)
StatusMessage.create(:message => "Commercials for IE make me SO MAD and my friends just don't get why.", :person => user, :created_at => Time.now-30900)
Bookmark.create(:title => "Zombo.com", :link => "http://zombo.com", :person => user, :created_at => Time.now-9090)
StatusMessage.create(:message => "Why do I have \"No More Heroes\" by Westlife on repeat all day?", :person => user, :created_at => Time.now-590000)
StatusMessage.create(:message => "Mmm. Friday night. Acknowledged.", :person => user, :created_at => Time.now-503900)
StatusMessage.create(:message => "Getting a universal remote is the epitome of laziness, I do declare.", :person => user, :created_at => Time.now-4400)
StatusMessage.create(:message => "Does anyone know how to merge two Skype contact entries of the same person? (i.e. one Skype ID and one mobile number)", :person => user, :created_at => Time.now-400240)
StatusMessage.create(:message => "A cool, cool morning for once.", :person => user, :created_at => Time.now-150000)
#EventMachine::run{
StatusMessage.create(:message => "There's a bomb in the lasagna!?", :person => user)
Bookmark.create(:title => "xkcd", :link => "http://xkcd.com/743/", :person => user )
StatusMessage.create(:message => "I switched to Motoroi today, a Motorola Android-based phone, in Korea. Now, I am using Android phones in both the U.S. and Korea", :person => user, :created_at => Time.now-930)
StatusMessage.create(:message => "I had 5 hours to study for it :-( GREs on Thursday. Wunderbar.", :person => user, :created_at => Time.now-43990)
StatusMessage.create(:message => "Spotted in toy story 3: google maps, OSX, and windows XP. Two out of three isn't bad.", :person => user, :created_at => Time.now-4390)
Bookmark.create( :title => "Reddit", :link => "http://reddit.com", :person => user, :created_at => Time.now-54390)
Blog.create(:title => "I Love Rock'N'Roll - Joan Jett & The Blackhearts", :body => "<p>The loudspeakers played this song as we walked into the city pool for the first time this summer. Those loudspeakers make every song sound fresh even if I have heard it a thousand times and their effect on this song was no different. Joan sounded young and strong and ready, and for a moment I forgot where or when I was.</p> <p>also i can tell it wont be long and also happy summer imaginary constructs -mumblelard</p>", :person => user, :created_at => Time.now-3090)
StatusMessage.create(:message => "Commercials for IE make me SO MAD and my friends just don't get why.", :person => user, :created_at => Time.now-30900)
Bookmark.create(:title => "Zombo.com", :link => "http://zombo.com", :person => user, :created_at => Time.now-9090)
StatusMessage.create(:message => "Why do I have \"No More Heroes\" by Westlife on repeat all day?", :person => user, :created_at => Time.now-590000)
StatusMessage.create(:message => "Mmm. Friday night. Acknowledged.", :person => user, :created_at => Time.now-503900)
StatusMessage.create(:message => "Getting a universal remote is the epitome of laziness, I do declare.", :person => user, :created_at => Time.now-4400)
StatusMessage.create(:message => "Does anyone know how to merge two Skype contact entries of the same person? (i.e. one Skype ID and one mobile number)", :person => user, :created_at => Time.now-400240)
StatusMessage.create(:message => "A cool, cool morning for once.", :person => user, :created_at => Time.now-150000)
# EventMachine::stop
#}

View file

@ -22,11 +22,22 @@ module SocketRenderer
puts e.message
raise e
end
{:class =>object.class.to_s.underscore.pluralize, :html => v}
{:class =>object.class.to_s.underscore.pluralize, :html => v, :post_id => obj_id(object)}
end
def self.view_for(object)
puts object.inspect
puts @view.type_partial(object)
@view.render @view.type_partial(object), :post => object
end
def self.obj_id(object)
if object.is_a? Post
object.id
else
object.post.id
end
end
end

View file

@ -20,7 +20,9 @@ namespace :db do
# Specifiy what models to remove
Post.delete_all
Person.delete_all
#Person.delete_all
User.delete_all
Friend.delete_all
Profile.delete_all
end