module Likeable::ClassMethods

Class Methods ###

—————– # allows us to setup callbacks when creating likes after_like :notify_users allows us to setup callbacks when destroying likes after_unlike :notify_users

Public Instance Methods

after_like(*methods) click to toggle source
# File lib/likeable.rb, line 110
def after_like(*methods)
  define_method(:after_like) do |like|
    methods.each do |method|
      eval("#{method}(like)")
    end
  end
end
after_unlike(*methods) click to toggle source
# File lib/likeable.rb, line 118
def after_unlike(*methods)
  define_method(:after_unlike) do |user|
    methods.each do |method|
      eval("#{method}(user)")
    end
  end
end
all_liked_by(user) click to toggle source
# File lib/likeable.rb, line 105
def all_liked_by(user)
  ids = all_liked_ids_by(user)
  Likeable.find_many(self, ids)
end
all_liked_ids_by(user) click to toggle source
# File lib/likeable.rb, line 100
def all_liked_ids_by(user)
  key = user.like_key(self.to_s.downcase)
  ids = (Likeable.redis.hkeys(key)||[]).map {|id| Likeable.cast_id(id)}
end