Module: ReadActivity::Readable::InstanceMethods

Defined in:
lib/read_activity/readable.rb

Instance Method Summary collapse

Instance Method Details

#read_by!(reader) ⇒ Object



26
27
28
29
30
31
# File 'lib/read_activity/readable.rb', line 26

def read_by!(reader)
  ReadActivityMark.transaction do
    mark = self.read_activity_marks.build(reader: reader)
    mark.save!
  end
end

#read_by?(reader) ⇒ Boolean

Returns:

  • (Boolean)


33
34
35
36
# File 'lib/read_activity/readable.rb', line 33

def read_by?(reader)
  mark = self.read_activity_marks.where(reader: reader)
  mark.exists?
end

#read_by_at(reader) ⇒ Object



38
39
40
41
42
# File 'lib/read_activity/readable.rb', line 38

def read_by_at(reader)
  mark = ReadActivityMark.find_by(readable: self, reader: reader)
  return mark.created_at if mark
  return nil
end

#readersObject



44
45
46
# File 'lib/read_activity/readable.rb', line 44

def readers
  Reader.klass.send(:find_who_read, self)
end

#unreadersObject



48
49
50
# File 'lib/read_activity/readable.rb', line 48

def unreaders
  Reader.klass.send(:find_who_unread, self)
end