Module: Unread::Readable::InstanceMethods
- Defined in:
- lib/unread/readable.rb
Instance Method Summary collapse
Instance Method Details
#mark_as_read!(options) ⇒ Object
128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/unread/readable.rb', line 128 def mark_as_read!() reader = [:for] self.class.assert_reader(reader) ReadMark.transaction do if unread?(reader) rm = read_mark(reader) || read_marks.build rm.reader_id = reader.id rm.reader_type = reader.class.base_class.name rm. = self.send([:on]) rm.save! end end end |
#unread?(reader) ⇒ Boolean
113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/unread/readable.rb', line 113 def unread?(reader) if self.respond_to?(:read_mark_id) && read_mark_id_belongs_to?(reader) # For use with scope "with_read_marks_for" return false if self.read_mark_id if = reader.read_mark_global(self.class).try(:timestamp) self.send([:on]) > else true end else self.class.unread_by(reader).exists?(self.id) end end |