module Undelivered::ReadMark::InstanceMethods
Public Instance Methods
mark_as_delivered_for!(reader)
click to toggle source
# File lib/undelivered/read_mark.rb, line 12 def mark_as_delivered_for!(reader) ReadMark.transaction do rm = find_or_build_read_mark(reader, :delivered) rm.timestamp = self.send(read_mark_options[:on]) rm.save! end end
mark_as_read_for!(reader)
click to toggle source
# File lib/undelivered/read_mark.rb, line 20 def mark_as_read_for!(reader) ReadMark.transaction do delivered_rm = find_or_build_read_mark(reader, :delivered) delivered_rm.timestamp = self.send(read_mark_options[:on]) delivered_rm.save! read_rm = find_or_build_read_mark(reader, :read) read_rm.timestamp = self.send(read_mark_options[:on]) read_rm.save! end end
Private Instance Methods
find_or_build_read_mark(reader, status)
click to toggle source
# File lib/undelivered/read_mark.rb, line 33 def find_or_build_read_mark(reader, status) read_marks.find_or_initialize_by(reader: reader, status: status) end
find_read_mark(reader, status)
click to toggle source
# File lib/undelivered/read_mark.rb, line 37 def find_read_mark(reader, status) read_marks.find_by(reader: reader, status: status) end