From 2307714749ffe7dbdd3d816f3b720340f08e77fa Mon Sep 17 00:00:00 2001
From: Mauricio Giacomini Girardello <mgg12@inf.ufpr.br>
Date: Tue, 2 Feb 2016 10:11:28 -0200
Subject: [PATCH] adding concerns methods

---
 app/models/concerns/followable.rb | 12 ++++++++++++
 app/models/concerns/sociable.rb   | 12 ++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/app/models/concerns/followable.rb b/app/models/concerns/followable.rb
index f2a8dd87c..743d8712f 100644
--- a/app/models/concerns/followable.rb
+++ b/app/models/concerns/followable.rb
@@ -5,4 +5,16 @@ module Followable
     has_many :follows, as: :followable
   end
 
+  def follow(user)
+    Follow.create(user: user, followable: self)
+  end
+
+  def unfollow(user)
+    Follow.where(user: user, followable: self).destroy_all
+  end
+
+  def following?(user)
+    !follows.where(user: user).blank?
+  end
+
 end
\ No newline at end of file
diff --git a/app/models/concerns/sociable.rb b/app/models/concerns/sociable.rb
index c98a73561..21ce5ed2a 100644
--- a/app/models/concerns/sociable.rb
+++ b/app/models/concerns/sociable.rb
@@ -8,4 +8,16 @@ module Sociable
     has_many :shares, as: :shareable
   end
 
+  def liked?(user)
+    !likes.where(user: user).blank?
+  end
+
+  def like(user)
+    Like.create(user: user, likeable: self)
+  end
+
+  def dislike(user)
+    Like.where(user: user, likeable: self).destroy_all
+  end
+
 end
\ No newline at end of file
-- 
GitLab