Module: LoyalCore::ActsAsLikeTrackAble::ClassMethods::InstanceMethods
- Defined in:
- lib/loyal_core/acts/like_track_able.rb
Instance Method Summary collapse
-
#liked_by!(user, options = {}) ⇒ Object
被**喜欢.
-
#liked_by?(user) ⇒ Boolean
是否被 ** 喜欢了?.
-
#touch_liked_by!(user) ⇒ Object
return: :like :undo.
-
#undo_liked_by!(user) ⇒ Object
取消喜欢.
- #user_like_tracks(user) ⇒ Object
Instance Method Details
#liked_by!(user, options = {}) ⇒ Object
被**喜欢
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/loyal_core/acts/like_track_able.rb', line 40 def liked_by! user, ={} tmp_scope = self.user_like_tracks(user) tmp_scope.create self.reload self.touch _expire_liked_cache :user_id => user.id end |
#liked_by?(user) ⇒ Boolean
是否被 ** 喜欢了?
31 32 33 34 35 36 37 |
# File 'lib/loyal_core/acts/like_track_able.rb', line 31 def liked_by? user return false if user.nil? ::TinyCache.cache_store.fetch liked_cache_key(:user_id => user.id) do self.user_like_tracks(user).exists? end end |
#touch_liked_by!(user) ⇒ Object
return:
:like
:undo
65 66 67 68 69 70 71 72 73 |
# File 'lib/loyal_core/acts/like_track_able.rb', line 65 def touch_liked_by! user if self.liked_by?(user) self.undo_liked_by!(user) :undo else self.liked_by!(user) :like end end |
#undo_liked_by!(user) ⇒ Object
取消喜欢
52 53 54 55 56 57 58 59 60 |
# File 'lib/loyal_core/acts/like_track_able.rb', line 52 def undo_liked_by! user self.user_like_tracks(user).destroy_all self.reload self.touch _expire_liked_cache :user_id => user.id end |
#user_like_tracks(user) ⇒ Object
26 27 28 |
# File 'lib/loyal_core/acts/like_track_able.rb', line 26 def user_like_tracks user self.like_tracks.filter_by_creator user end |