module LikeSystem::Liker

Liker module

This module defines liker behavior in like system

Public Instance Methods

is_liker?() click to toggle source

Specifies if self can like {Likee} objects

@return [Boolean]

# File lib/like_system/liker.rb, line 33
def is_liker?
  true
end
like(likee) click to toggle source

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
likees_by(klass) click to toggle source

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
likes?(likee) click to toggle source

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
toggle_like(likee) click to toggle source

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
unlike(likee) click to toggle source

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