Module: UnreadMongoid::Readable::InstanceMethods

Defined in:
lib/unread_mongoid/readable.rb

Instance Method Summary collapse

Instance Method Details

#mark_as_read!(options) ⇒ Object



105
106
107
108
109
110
111
112
113
114
# File 'lib/unread_mongoid/readable.rb', line 105

def mark_as_read!(options)
  user = options[:for]
  self.class.assert_reader(user)

  if unread?(user)
    rm = read_mark(user) || read_marks.build(:user_id => user._id)
    rm.timestamp = self.send(readable_options[:on]).to_s(:db)
    rm.save!
  end
end

#read_mark(user) ⇒ Object



116
117
118
# File 'lib/unread_mongoid/readable.rb', line 116

def read_mark(user)
  read_marks.where(:user_id => user._id).first
end

#readable_timestampObject



97
98
99
# File 'lib/unread_mongoid/readable.rb', line 97

def readable_timestamp
  self.send(readable_options[:on]).to_s(:db)
end

#unread?(user) ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/unread_mongoid/readable.rb', line 101

def unread?(user)
  self.class.unread_by(user).and(_id: self._id).exists?
end