Commit 69d6f547

mo khan <mo@mokhan.ca>
2013-05-11 13:51:29
refactor lookup for favorite
1 parent 84d7a94
Changed files (3)
app/models/creation.rb
@@ -43,4 +43,8 @@ class Creation < ActiveRecord::Base
     sql_search = "%#{query}%"
     Creation.where("upper(name) like upper(?) OR upper(story) like upper(?)", sql_search, sql_search)
   end
+
+  def is_liked_by(user)
+    favorites.any? { |favorite| favorite.user == user }
+  end
 end
app/models/user.rb
@@ -20,7 +20,7 @@ class User < ActiveRecord::Base
   end
 
   def already_likes(creation)
-    Favorite.where("user_id = ? AND creation_id = ?", self.id, creation.id).exists?
+    creation.is_liked_by(self)
   end
 
   def owns(creation)
spec/models/user_spec.rb
@@ -74,6 +74,7 @@ describe User do
         result.should be_true
       end
     end
+
     describe "when they do not" do
       let(:result) { sut.already_likes(cake) }