Module: Unread::Base

Defined in:
lib/unread/base.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_readable(options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/unread/base.rb', line 25

def acts_as_readable(options={})
  ReadMark.readable_classes ||= []

  unless ReadMark.readable_classes.include?(self)
    class_attribute :readable_options

    options.reverse_merge!(on: :updated_at)
    self.readable_options = options

    has_many :read_marks, as: :readable, dependent: :delete_all, inverse_of: :readable

    ReadMark.readable_classes << self

    include Readable::InstanceMethods
    extend Readable::ClassMethods
    extend Readable::Scopes
  end
end

#acts_as_readerObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/unread/base.rb', line 7

def acts_as_reader
  ReadMark.reader_classes ||= []

  unless ReadMark.reader_classes.include?(self)
    ReadMark.belongs_to :reader, polymorphic: true, inverse_of: :read_marks, optional: true

    has_many :read_marks, dependent: :delete_all, as: :reader, inverse_of: :reader

    after_create :setup_new_reader

    ReadMark.reader_classes << self

    include Reader::InstanceMethods
    extend Reader::ClassMethods
    extend Reader::Scopes
  end
end

#using_postgresql?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/unread/base.rb', line 44

def using_postgresql?
  connection.adapter_name.match(/postgres/i)
end