Sha256: 80dc8794e390895c4d6de8ab05f8278c50bb77ba1c7ea67f68d9b6f9320a330f

Contents?: true

Size: 659 Bytes

Versions: 2

Compression:

Stored size: 659 Bytes

Contents

class ReadMark < ActiveRecord::Base
  belongs_to :readable, :polymorphic => true
  if ActiveRecord::VERSION::MAJOR < 4
    attr_accessible :readable_id, :user_id, :readable_type, :timestamp
  end

  validates_presence_of :user_id, :readable_type

  scope :global, lambda { where(:readable_id => nil) }
  scope :single, lambda { where('readable_id IS NOT NULL') }
  scope :older_than, lambda { |timestamp| where([ 'timestamp < ?', timestamp ]) }

  # Returns the class defined by acts_as_reader
  def self.reader_class
    reflect_on_all_associations(:belongs_to).find { |assoc| assoc.name == :user }.try(:klass)
  end

  class_attribute :readable_classes
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
unread-0.4.0 lib/unread/read_mark.rb
unread-0.3.1 lib/unread/read_mark.rb