Sha256: 9bc027dca2ecf3da305a6f3ce041a92a10fcd1859915da8c5fa22a5d1bd7833f

Contents?: true

Size: 685 Bytes

Versions: 1

Compression:

Stored size: 685 Bytes

Contents

module Discussion
  class Concerns < ActiveRecord::Base
    attr_accessible :thread_id, :user_id
    belongs_to :thread, class_name: 'Discussion::Thread'
    belongs_to :user, class_name: Discussion.user_class

    after_create :create_thread_read, :create_comment_read_for_comments

    private
    def create_thread_read
      scope = self.thread.thread_reads.by(self.user_id)
      thread_read = scope.first || scope.new
      thread_read.read = false
      thread_read.save!
    end

    def create_comment_read_for_comments
      self.thread.comments.each do |msg|
        scope = msg.comment_reads.by(self.user_id)
        scope.first || scope.create!
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
discussion-0.0.1 app/models/discussion/concerns.rb