Module: UnreadMongoid::Readable::ClassMethods

Defined in:
lib/unread_mongoid/readable.rb

Instance Method Summary collapse

Instance Method Details

#mark_as_read!(target, options) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/unread_mongoid/readable.rb', line 4

def mark_as_read!(target, options)
  reader = options[:for]
  UnreadMongoid::Reader.assert_reader(reader)

  readables_to_mark = if(target == :all)
                        self.unread_by(reader)
                      else
                        target
                      end

  self.unread_by(reader).each do |readable|
    raise ArgumentError unless readable.is_a? self

    readable.mark_as_read! :for => reader
  end
end