From 22cda15aa8963f70efbcb330e411b51c6ceba483 Mon Sep 17 00:00:00 2001
From: Maxwell Salzberg <maxwell@joindiaspora.com>
Date: Mon, 27 Feb 2012 18:10:00 -0800
Subject: [PATCH] presenter now has a title

---
 app/presenters/post_presenter.rb       | 11 ++++++++++-
 config/locales/diaspora/en.yml         |  2 ++
 spec/presenters/post_presenter_spec.rb | 17 +++++++++++++++++
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb
index 3d51ed17e4..8d9a63d60a 100644
--- a/app/presenters/post_presenter.rb
+++ b/app/presenters/post_presenter.rb
@@ -23,7 +23,8 @@ class PostPresenter
         :reshares => self.reshares,
         :comments => self.comments,
         :participations => self.participations,
-        :templateName => template_name
+        :templateName => template_name,
+        :title => title
       })
   end
 
@@ -75,6 +76,13 @@ class PostPresenter
     end
   end
 
+  def title
+    if post.text.present?
+      post.text
+    else
+      I18n.translate('posts.presenter.title', :name => post.author.name)
+    end  
+  end
 
   def template_name
     @template_name ||= TemplatePicker.new(post).template_name
@@ -107,4 +115,5 @@ class PostPresenter
   def user_signed_in?
     current_user.present?
   end
+
 end
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index d8d385fe51..5395aff1f4 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -612,6 +612,8 @@ en:
     comment_email_subject: "%{name}'s photo"
 
   posts:
+    presenter:
+      title: "A post from %{name}"
     show:
       destroy: "Delete"
       permalink: "permalink"
diff --git a/spec/presenters/post_presenter_spec.rb b/spec/presenters/post_presenter_spec.rb
index ce2fc9d29a..2635637707 100644
--- a/spec/presenters/post_presenter_spec.rb
+++ b/spec/presenters/post_presenter_spec.rb
@@ -67,4 +67,21 @@ describe PostPresenter do
       @presenter.previous_post_path.should ==  Rails.application.routes.url_helpers.post_path(@sm)
     end
   end
+  
+  describe '#title' do 
+    it 'includes the text if it is present' do
+      @sm = stub(:text => "lalalalalalala", :author => bob.person)
+      @presenter.post = @sm
+      @presenter.title.should == @sm.text
+    end
+
+    context 'with posts without text' do
+      it ' displays a messaage with the post class' do
+
+        @sm = stub(:text => "", :author => bob.person)
+        @presenter.post = @sm
+        @presenter.title.should == "A post from #{@sm.author.name}"
+      end
+    end
+  end
 end
\ No newline at end of file
-- 
GitLab