module LikeSystem::Liker
Liker
module
This module defines liker behavior in like system
Public Instance Methods
Specifies if self can like {Likee} objects
@return [Boolean]
# File lib/like_system/liker.rb, line 33 def is_liker? true end
Creates a {Like} relationship between self and a {Likee} object
@param [Likee] likee - the likee of the {Like} relationship @return [Boolean]
# File lib/like_system/liker.rb, line 43 def like(likee) Like.like(self, likee) end
Retrieves a scope of {Like} objects that are liked by self
@param [Class] klass - the {Class} to include @return [ActiveRecord::Relation]
# File lib/like_system/liker.rb, line 83 def likees_by(klass) Like.scope_by_liker(self).scope_by_likee_type(klass) end
Specifies if self likes a {Liker} object
@param [Likee] likee - the {Likee} object to test against @return [Boolean]
# File lib/like_system/liker.rb, line 73 def likes?(likee) Like.likes?(self, likee) end
Toggles a {Like} relationship between self and a {Likee} object
@param [Likee] likee - the likee of the {Like} relationship @return [Boolean]
# File lib/like_system/liker.rb, line 63 def toggle_like(likee) Like.toggle_like(self, likee) end
Destroys a {Like} relationship between self and a {Likee} object
@param [Likee] likee - the likee of the {Like} relationship @return [Boolean]
# File lib/like_system/liker.rb, line 53 def unlike(likee) Like.unlike(self, likee) end