Module: Likeable::ClassMethods

Defined in:
lib/likeable.rb

Overview

Class Methods ### —————– # allows us to setup callbacks when creating likes after_like :notify_users

Instance Method Summary collapse

Instance Method Details

#after_like(*methods) ⇒ Object



102
103
104
105
106
107
108
# File 'lib/likeable.rb', line 102

def after_like(*methods)
  define_method(:after_like) do |like|
    methods.each do |method|
      eval("#{method}(like)")
    end
  end
end

#all_liked_by(user) ⇒ Object



97
98
99
100
# File 'lib/likeable.rb', line 97

def all_liked_by(user)
  ids = all_liked_ids_by(user)
  self.where(:id => ids)
end

#all_liked_ids_by(user) ⇒ Object



92
93
94
95
# File 'lib/likeable.rb', line 92

def all_liked_ids_by(user)
  key = user.like_key(self.to_s.downcase)
  ids = (Likeable.redis.hkeys(key)||[]).map(&:to_i)
end