Module: Unread::Reader::InstanceMethods
- Defined in:
- lib/unread/reader.rb
Instance Method Summary collapse
- #forget_memoized_read_mark_global ⇒ Object
- #have_read?(readable) ⇒ Boolean
- #read_mark_global(klass) ⇒ Object
Instance Method Details
#forget_memoized_read_mark_global ⇒ Object
28 29 30 |
# File 'lib/unread/reader.rb', line 28 def forget_memoized_read_mark_global @read_mark_global = nil end |
#have_read?(readable) ⇒ Boolean
32 33 34 35 36 37 38 39 |
# File 'lib/unread/reader.rb', line 32 def have_read?(readable) if self.respond_to?(:read_mark_id) && read_mark_id_belongs_to?(readable) # For use with scope "with_read_marks_for" !self.read_mark_id.nil? else !self.class.have_not_read(readable).exists?(self.id) end end |
#read_mark_global(klass) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/unread/reader.rb', line 16 def read_mark_global(klass) @read_mark_global ||= {} readable_klass = klass.readable_parent # Memoize with NIL handling if @read_mark_global.has_key?(readable_klass) @read_mark_global[readable_klass] else @read_mark_global[readable_klass] = read_marks.where(readable_type: readable_klass.name).global.first end end |