1# frozen_string_literal: true 2 3class Review < ApplicationRecord 4 include Participable 5 include Mentionable 6 7 belongs_to :author, class_name: 'User', foreign_key: :author_id, inverse_of: :reviews 8 belongs_to :merge_request, inverse_of: :reviews 9 belongs_to :project, inverse_of: :reviews 10 11 has_many :notes, -> { order(:id) }, inverse_of: :review 12 13 delegate :name, to: :author, prefix: true 14 15 participant :author 16 17 def all_references(current_user = nil, extractor: nil) 18 ext = super 19 20 notes.each do |note| 21 note.all_references(current_user, extractor: ext) 22 end 23 24 ext 25 end 26 27 def user_mentions 28 merge_request.user_mentions.where.not(note_id: nil) 29 end 30end 31