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