Module: ReadActivity::Readable::InstanceMethods
- Defined in:
- lib/read_activity/readable.rb
Instance Method Summary collapse
- #read_by!(reader) ⇒ Object
- #read_by?(reader) ⇒ Boolean
- #read_by_at(reader = nil) ⇒ Object
- #readers ⇒ Object
- #unreaders ⇒ Object
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.where(reader: reader).first_or_initialize mark.save! end end |
#read_by?(reader) ⇒ Boolean
33 34 35 |
# File 'lib/read_activity/readable.rb', line 33 def read_by?(reader) mark = self.read_activity_marks.exists?(reader: reader) end |
#read_by_at(reader = nil) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/read_activity/readable.rb', line 37 def read_by_at(reader = nil) read_by_at = nil if self.read_activity_marks.loaded? read_by_at = self.read_activity_marks.first.try(:created_at) end if read_by_at.nil? && reader if reader.read_activity_marks.loaded? read_by_at = reader.read_activity_marks.first.try(:created_at) else read_by_at = self.read_activity_marks.where(reader: reader).first.try(:created_at) end end return read_by_at end |