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