DG MS; Dashboard shows the user's most recent update

This commit is contained in:
maxwell 2010-06-14 17:48:21 -07:00
parent 4532c39e93
commit 3eef53892c
6 changed files with 47 additions and 4 deletions

View file

@ -14,10 +14,18 @@ class StatusMessage
before_create :add_owner before_create :add_owner
def self.newest(owner_email)
StatusMessage.last(:conditions => {:owner => owner_email})
end
def self.my_newest
StatusMessage.newest(User.first.email)
end
protected protected
def add_owner def add_owner
self.owner ||= User.first.email self.owner ||= User.first.email
end end
end end

View file

@ -16,7 +16,8 @@
%body %body
#header #header
.container .container
%img#diaspora_text{:src => '/images/diaspora.png'} %a#diaspora_text{:href => root_url}
%img{:src => '/images/diaspora.png'}
#session_action #session_action
- if user_signed_in? - if user_signed_in?

View file

@ -1,11 +1,17 @@
- title "Status Messages" - title "Home"
%h3 Your latest message
%h2= "#{StatusMessage.my_newest.message} #{time_ago_in_words(StatusMessage.my_newest.created_at)} ago"
%br
%br
%br
%h3 Messages %h3 Messages
%ul %ul
- for status_message in @status_messages - for status_message in @status_messages
%li %li
= "#{status_message.message} by #{status_message.owner}" = "#{status_message.message} by #{status_message.owner} #{time_ago_in_words(status_message.created_at)} ago"
= link_to 'Show', status_message = link_to 'Show', status_message
| |
=link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete =link_to 'Destroy', status_message, :confirm => 'Are you sure?', :method => :delete

View file

@ -52,6 +52,8 @@ h4 {
padding-top: 1em; padding-top: 1em;
padding-bottom: 1em; padding-bottom: 1em;
margin-bottom: 1em; } margin-bottom: 1em; }
#header #diaspora_text {
border: none; }
#header #session_action { #header #session_action {
float: right; } float: right; }
#header ul.nav { #header ul.nav {

View file

@ -60,6 +60,10 @@ h4
:margin :margin
:bottom 1em :bottom 1em
#diaspora_text
:border none
#session_action #session_action
:float right :float right

View file

@ -14,6 +14,28 @@ describe StatusMessage do
n.owner.should == "bob@aol.com" n.owner.should == "bob@aol.com"
end end
describe "newest" do
before do
User.create(:email => "bob@aol.com", :password => "diggity")
StatusMessage.create(:message => "wale for jimmy", :owner => "xzibit@dawgz.com")
StatusMessage.create(:message => "jimmy wales")
StatusMessage.create(:message => "jimmy your wales", :owner => "some@dudes.com")
StatusMessage.create(:message => "lions", :owner => "xzibit@dawgz.com")
StatusMessage.create(:message => "bears")
StatusMessage.create(:message => "sharks", :owner => "some@dudes.com")
StatusMessage.create(:message => "roar")
end
it "should give the most recent message from owner" do
StatusMessage.my_newest.message.should == "roar"
end
it "should give the most recent message for a given email" do
StatusMessage.newest("some@dudes.com").message.should == "sharks"
end
end
describe "XML" do describe "XML" do
before do before do
@xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n <owner>Bob</owner>\n</statusmessage>" @xml = "<statusmessage>\n <message>I hate WALRUSES!</message>\n <owner>Bob</owner>\n</statusmessage>"