Module: ActsAsAble::Liker::InstanceMethods
- Defined in:
- lib/acts_as_able/liker.rb
Instance Method Summary collapse
-
#like(obj) ⇒ Object
赞某对象.
-
#like?(obj) ⇒ Boolean
是否赞了某对象.
-
#likings(likable_type) ⇒ Object
查看某种类型踩的所有对象.
-
#unlike(obj) ⇒ Object
取消对某对象的赞.
Instance Method Details
#like(obj) ⇒ Object
赞某对象
19 20 21 |
# File 'lib/acts_as_able/liker.rb', line 19 def like(obj) self.likes.find_or_create_by(likable_type: class_name(obj), likable_id: obj.id) end |
#like?(obj) ⇒ Boolean
是否赞了某对象
29 30 31 |
# File 'lib/acts_as_able/liker.rb', line 29 def like?(obj) !like_by(obj).blank? end |
#likings(likable_type) ⇒ Object
查看某种类型踩的所有对象
34 35 36 |
# File 'lib/acts_as_able/liker.rb', line 34 def likings(likable_type) return likable_type.constantize.where(id: self.likes.where(likable_type: likable_type).pluck(:likable_id)) end |
#unlike(obj) ⇒ Object
取消对某对象的赞
24 25 26 |
# File 'lib/acts_as_able/liker.rb', line 24 def unlike(obj) like_by(obj).destroy end |