Sha256: a0270c6dbbb71e12ff1faab3f0a9a96528497fc1eda5eb174dd7c60545eeb620

Contents?: true

Size: 652 Bytes

Versions: 6

Compression:

Stored size: 652 Bytes

Contents

require 'like_system/like'
require 'like_system/likee'
require 'like_system/liker'

###
# LikeSystem module
#
# This module defines common behavior in like system
###
module LikeSystem
  ###
  # Specifies if self can be liked by {Liker} objects
  #
  # @return [Boolean]
  ###
  def is_likee?
    false
  end

  ###
  # Specifies if self can like {Likee} objects
  #
  # @return [Boolean]
  ###
  def is_liker?
    false
  end

  ###
  # Instructs self to act as likee
  ###
  def act_as_likee
    include Likee
  end

  ###
  # Instructs self to act as liker
  ###
  def act_as_liker
    include Liker
  end
end

ActiveRecord::Base.extend LikeSystem

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
like_system-0.1.1 lib/like_system.rb
like_system-0.1.0 lib/like_system.rb
like_system-0.0.9 lib/like_system.rb
like_system-0.0.8 lib/like_system.rb
like_system-0.0.7 lib/like_system.rb
like_system-0.0.6 lib/like_system.rb