Module: ReadActivity::Reader::ClassMethods

Defined in:
lib/read_activity/reader.rb

Instance Method Summary collapse

Instance Method Details

#find_who_read(readable) ⇒ Object



11
12
13
# File 'lib/read_activity/reader.rb', line 11

def find_who_read(readable)
  self.includes(:read_activity_marks).merge(ReadActivityMark.where(readable: readable)).references(:read_activity_marks)
end

#find_who_unread(readable) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/read_activity/reader.rb', line 15

def find_who_unread(readable)
  self.joins(%Q(
    LEFT OUTER JOIN
    (SELECT * FROM read_activity_marks WHERE readable_id = #{readable.id}) AS readable_marks
    ON readable_marks.reader_id = #{self.table_name}.id
  )).where("readable_marks.reader_id IS NULL")
end