Commit 7e0f4e07

mo k <m@mokhan.ca>
2012-01-30 03:28:45
rename likes to favorites.
1 parent 56a07a9
app/assets/javascripts/likes.js.coffee → app/assets/javascripts/favorites.js.coffee
File renamed without changes
app/assets/stylesheets/likes.css.scss → app/assets/stylesheets/favorites.css.scss
File renamed without changes
app/controllers/likes_controller.rb → app/controllers/favorites_controller.rb
@@ -1,20 +1,20 @@
-class LikesController < ApplicationController
+class FavoritesController < ApplicationController
   before_filter :authenticate_user!
   before_filter :find_creation
 
-  # GET /likes
+  # GET /favorites
   def index
-    @likes = @creation.likes
+    @favorites = @creation.favorites
   end
 
-  # POST /likes
+  # POST /favorites
   def create
     if( current_user == @creation.user )
-      redirect_to @creation, :notice => "You can't like your own stuff"
+      redirect_to @creation, :notice => "You can't favorite your own stuff"
       return
     end
-    @like = current_user.like(@creation)
-    if @like.save
+    @favorite = current_user.add_favorite(@creation)
+    if @favorite.save
        redirect_to @creation, :notice => 'Welcome to the fanclub!'
     else
        redirect_to @creation
app/helpers/favorites_helper.rb
@@ -0,0 +1,2 @@
+module FavoritesHelper
+end
app/helpers/likes_helper.rb
@@ -1,2 +0,0 @@
-module LikesHelper
-end
app/models/creation.rb
@@ -5,7 +5,7 @@ class Creation < ActiveRecord::Base
   belongs_to :user
   has_and_belongs_to_many :categories, :join_table => 'creations_categories', :uniq => true, :autosave => true
   has_many :photos, :dependent => :destroy
-  has_many :likes, :dependent => :destroy
+  has_many :favorites, :dependent => :destroy
   mount_uploader :image, ImageUploader
 
   attr_accessor :crop_x, :crop_y, :crop_h, :crop_w
app/models/like.rb → app/models/favorite.rb
@@ -1,4 +1,4 @@
-class Like < ActiveRecord::Base
+class Favorite < ActiveRecord::Base
   belongs_to :user
   belongs_to :creation
 end
app/models/user.rb
@@ -4,22 +4,19 @@ class User < ActiveRecord::Base
   devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable
   attr_accessible :name, :email, :password, :password_confirmation, :remember_me
   has_many :creations, :dependent => :destroy
-  has_many :likes, :dependent => :destroy
+  has_many :favorites, :dependent => :destroy
 
-  def like( creation )
+  def add_favorite( creation )
     if self.already_likes(creation)
       logger.info 'already likes creation'
-      likes.find { |like| like.user == self }
+      favorites.find { |favorite| favorite.user == self }
     else
       logger.info 'add creation'
-      creation.likes.create({:user => self})
+      creation.favorites.create({:user => self})
     end
   end
 
   def already_likes(creation)
-    Like.where("user_id = ? AND creation_id = ?", self.id, creation.id).exists?
-    # likes.any? do |like|
-    #   like.user == self && like.creation == creation
-    # end
+    Favorite.where("user_id = ? AND creation_id = ?", self.id, creation.id).exists?
   end
 end
app/views/creations/show.html.erb
@@ -31,14 +31,14 @@
       <div class="span10">
         <p> 
         submitted on: <%= @creation.created_at.to_s :foomat %> |
-        <%= link_to 'fanclub (' + pluralize(@creation.likes.length, 'fan') + ')', creation_likes_path(:creation_id => @creation.id)%> 
+        <%= link_to 'fanclub (' + pluralize(@creation.favorites.length, 'fan') + ')', creation_favorites_path(:creation_id => @creation.id)%> 
         </p>
       </div>
       <div class="span2">
          <iframe src="http://www.facebook.com/plugins/like.php?href=<%= request.url %>" scrolling="no" frameborder="0" style="border:none; width:350px; height:30px"></iframe> 
         <% if user_signed_in? %>
           <% unless current_user == @creation.user || current_user.already_likes(@creation) %>
-            <%= button_to "Favorite", creation_likes_path(:creation_id => @creation.id), :method => :post, :class => 'btn success' %>
+            <%= button_to "Favorite", creation_favorites_path(:creation_id => @creation.id), :method => :post, :class => 'btn success' %>
           <% end %>
         <% end %>
       </div>
app/views/likes/index.html.erb → app/views/favorites/index.html.erb
@@ -11,8 +11,8 @@
 <div class="row">
   <div class="span16">
     <ul class="media-grid">
-      <% @creation.likes.each do |like| %>
-        <a href="<%= url_for profile_path(like.user) %>"><img src="<%= avatar_url like.user %>&amp;s=200" alt="<%= like.user.name %>" /></a>
+      <% @creation.favorites.each do |favorite| %>
+        <a href="<%= url_for profile_path(favorite.user) %>"><img src="<%= avatar_url favorite.user %>&amp;s=200" alt="<%= favorite.user.name %>" /></a>
       <% end %>
     </ul>
   </div>
config/routes.rb
@@ -8,7 +8,7 @@ Cake::Application.routes.draw do
   # /creations
   resources :creations do
     resources :photos, :only => [:create, :destroy]
-    resources :likes, :onlye => [:index, :create]
+    resources :favorites, :onlye => [:index, :create]
   end
   match 'creations/crop/:id' => 'creations#crop', :method => 'GET'
   match 'creations/crop_update/:id' => 'creations#crop_update', :as => 'creations_crop_update', :method => 'POST'
db/migrate/20120130032306_rename_likes_to_favorites.rb
@@ -1,5 +1,5 @@
 class RenameLikesToFavorites < ActiveRecord::Migration
   def change
-    rename_table :like, :favorite
+    rename_table :likes, :favorites
   end
 end
db/schema.rb
@@ -11,7 +11,7 @@
 #
 # It's strongly recommended to check this file into your version control system.
 
-ActiveRecord::Schema.define(:version => 20120106021715) do
+ActiveRecord::Schema.define(:version => 20120130032306) do
 
   create_table "categories", :force => true do |t|
     t.string   "name"
@@ -34,7 +34,7 @@ ActiveRecord::Schema.define(:version => 20120106021715) do
     t.integer "category_id"
   end
 
-  create_table "likes", :force => true do |t|
+  create_table "favorites", :force => true do |t|
     t.integer  "user_id"
     t.integer  "creation_id"
     t.datetime "created_at"
spec/controllers/likes_controller_spec.rb → spec/controllers/favorites_controller_spec.rb
@@ -18,7 +18,7 @@ require 'spec_helper'
 # Message expectations are only used when there is no simpler way to specify
 # that an instance is receiving a specific message.
 
-describe LikesController do
+describe FavoritesController do
 
   # This should return the minimal set of attributes required to create a valid
   # Like. As you add validations to Like, be sure to
@@ -28,30 +28,30 @@ describe LikesController do
   end
 
   describe "GET index" do
-    it "assigns all likes as @likes" do
-      like = Like.create! valid_attributes
+    it "assigns all favorites as @favorites" do
+      favorite = Favorite.create! valid_attributes
       get :index, :creation_id => "1"
-      assigns(:likes).should eq([like])
+      assigns(:favorites).should eq([favorite])
     end
   end
 
   describe "POST create" do
     describe "with valid params" do
-      it "creates a new Like" do
+      it "creates a new Favorite" do
         expect {
-          post :create, :like => valid_attributes
-        }.to change(Like, :count).by(1)
+          post :create, :favorite => valid_attributes
+        }.to change(Favorite, :count).by(1)
       end
 
-      it "assigns a newly created like as @like" do
-        post :create, :like => valid_attributes
-        assigns(:like).should be_a(Like)
-        assigns(:like).should be_persisted
+      it "assigns a newly created favorite as @favorite" do
+        post :create, :favorite => valid_attributes
+        assigns(:favorite).should be_a(favorite)
+        assigns(:favorite).should be_persisted
       end
 
-      it "redirects to the created like" do
-        post :create, :like => valid_attributes
-        response.should redirect_to(Like.last)
+      it "redirects to the created favorite" do
+        post :create, :favorite => valid_attributes
+        response.should redirect_to(Favorite.last)
       end
     end
   end
spec/helpers/likes_helper_spec.rb → spec/helpers/favorites_helper_spec.rb
@@ -1,15 +1,15 @@
 require 'spec_helper'
 
 # Specs in this file have access to a helper object that includes
-# the LikesHelper. For example:
+# the FavoritesHelper. For example:
 #
-# describe LikesHelper do
+# describe FavoritesHelper do
 #   describe "string concat" do
 #     it "concats two strings with spaces" do
 #       helper.concat_strings("this","that").should == "this that"
 #     end
 #   end
 # end
-describe LikesHelper do
+describe FavoritesHelper do
   pending "add some examples to (or delete) #{__FILE__}"
 end
spec/models/user_spec.rb
@@ -6,9 +6,9 @@ describe User do
       # creation = Creation.new
       creation = FactoryGirl.build(:creation)
       user = FactoryGirl.create(:user)
-      user.like(creation)
-      user.like(creation)
-      creation.likes.length.should eq(1)
+      user.add_favorite(creation)
+      user.add_favorite(creation)
+      creation.favorites.length.should eq(1)
     end
   end
 end
spec/requests/likes_spec.rb → spec/requests/favorites_spec.rb
@@ -1,10 +1,10 @@
 require 'spec_helper'
 
-describe "Likes" do
-  describe "GET /likes" do
+describe "Favorites" do
+  describe "GET /favorites" do
     it "works! (now write some real specs)" do
       # Run the generator again with the --webrat flag if you want to use webrat methods/matchers
-      get creation_likes_path
+      get creation_favorites_path
       response.status.should be(200)
     end
   end
spec/routing/favorites_routing_spec.rb
@@ -0,0 +1,14 @@
+require "spec_helper"
+
+describe FavoritesController do
+  describe "routing" do
+
+    it "routes to #index" do
+      get("/creations/1/favorites").should route_to("favorites#index")
+    end
+
+    it "routes to #create" do
+      post("/creations/1/favorites").should route_to("favorites#create")
+    end
+  end
+end
spec/routing/likes_routing_spec.rb
@@ -1,14 +0,0 @@
-require "spec_helper"
-
-describe LikesController do
-  describe "routing" do
-
-    it "routes to #index" do
-      get("/creations/1/likes").should route_to("likes#index")
-    end
-
-    it "routes to #create" do
-      post("/creations/1/likes").should route_to("likes#create")
-    end
-  end
-end