Module: LikeSystem::Liker

Extended by:
ActiveSupport::Concern
Defined in:
lib/like_system/liker.rb

Overview

Liker module

This module defines liker behavior in like system

Instance Method Summary collapse

Instance Method Details

#is_liker?Boolean

Specifies if self can like LikeSystem::Likee objects

Returns:

  • (Boolean)


33
34
35
# File 'lib/like_system/liker.rb', line 33

def is_liker?
  true
end

#like(likee) ⇒ Boolean

Creates a LikeSystem::Like relationship between self and a LikeSystem::Likee object

Parameters:

Returns:

  • (Boolean)


43
44
45
# File 'lib/like_system/liker.rb', line 43

def like(likee)
  Like.like(self, likee)
end

#likees_by(klass) ⇒ ActiveRecord::Relation

Retrieves a scope of LikeSystem::Like objects that are liked by self

Parameters:

  • klass (Class)
    • the Class to include

Returns:

  • (ActiveRecord::Relation)


83
84
85
# 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) ⇒ Boolean

Specifies if self likes a LikeSystem::Liker object

Parameters:

Returns:

  • (Boolean)


73
74
75
# File 'lib/like_system/liker.rb', line 73

def likes?(likee)
  Like.likes?(self, likee)
end

#toggle_like(likee) ⇒ Boolean

Toggles a LikeSystem::Like relationship between self and a LikeSystem::Likee object

Parameters:

Returns:

  • (Boolean)


63
64
65
# File 'lib/like_system/liker.rb', line 63

def toggle_like(likee)
  Like.toggle_like(self, likee)
end

#unlike(likee) ⇒ Boolean

Destroys a LikeSystem::Like relationship between self and a LikeSystem::Likee object

Parameters:

Returns:

  • (Boolean)


53
54
55
# File 'lib/like_system/liker.rb', line 53

def unlike(likee)
  Like.unlike(self, likee)
end