Skip to content

Commit

Permalink
Chapter 10 complete
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanklumpp committed Apr 9, 2012
1 parent 44994c5 commit 9f3f55a
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 66 deletions.
120 changes: 59 additions & 61 deletions .idea/workspace.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions app/controllers/microposts_controller.rb
@@ -1,5 +1,6 @@
class MicropostsController < ApplicationController class MicropostsController < ApplicationController
before_filter :signed_in_user, only: [:create, :destroy] before_filter :signed_in_user, only: [:create, :destroy]
before_filter :correct_user, only: :destroy


def create def create
@micropost = current_user.microposts.build(params[:micropost]) @micropost = current_user.microposts.build(params[:micropost])
Expand All @@ -13,5 +14,16 @@ def create
end end


def destroy def destroy
@micropost.destroy
redirect_back_or root_path
end end

private

def correct_user
@micropost = current_user.microposts.find(params[:id])
rescue
redirect_to root_path
end

end end
5 changes: 5 additions & 0 deletions app/views/microposts/_micropost.html.erb
Expand Up @@ -3,4 +3,9 @@
<span class="timestamp"> <span class="timestamp">
Posted <%= time_ago_in_words(micropost.created_at) %> ago. Posted <%= time_ago_in_words(micropost.created_at) %> ago.
</span> </span>
<% if current_user?(micropost.user) %>
<%= link_to "delete", micropost, method: :delete,
confirm: "You sure?",
title: micropost.content %>
<% end %>
</li> </li>
15 changes: 10 additions & 5 deletions app/views/shared/_feed_item.html.erb
@@ -1,10 +1,15 @@
<li id="<%= feed_item.id %>"> <li id="<%= feed_item.id %>">
<%= link_to gravatar_for(feed_item.user), feed_item.user %> <%= link_to gravatar_for(feed_item.user), feed_item.user %>
<span class="user"> <span class="user">
<%= link_to feed_item.user.name, feed_item.user %> <%= link_to feed_item.user.name, feed_item.user %>
</span> </span>
<span class="content"><%= feed_item.content %></span> <span class="content"><%= feed_item.content %></span>
<span class="timestamp"> <span class="timestamp">
Posted <%= time_ago_in_words(feed_item.created_at) %> ago. Posted <%= time_ago_in_words(feed_item.created_at) %> ago.
</span> </span>
<% if current_user?(feed_item.user) %>
<%= link_to "delete", feed_item, method: :delete,
confirm: "You sure?",
title: feed_item.content %>
<% end %>
</li> </li>
13 changes: 13 additions & 0 deletions spec/requests/micropost_pages_spec.rb
Expand Up @@ -30,4 +30,17 @@
end end
end end
end end

describe "micropost destruction" do
before { FactoryGirl.create(:micropost, user: user) }

describe "as correct user" do
before { visit root_path }

it "should delete a micropost" do
expect { click_link "delete" }.should change(Micropost, :count).by(-1)
end
end
end

end end

0 comments on commit 9f3f55a

Please sign in to comment.