summaryrefslogtreecommitdiff
path: root/app/models/discussion_note.rb
blob: 6621b30b6456e5f9aa401694f3edaa9cacf7f9b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

# A note in a non-diff discussion on an issue, merge request, commit, or snippet.
#
# A note of this type can be resolvable.
class DiscussionNote < Note
  # This prepend must stay here because the `validates` below depends on it.
  prepend_mod_with('DiscussionNote') # rubocop: disable Cop/InjectEnterpriseEditionModule

  # Names of all implementers of `Noteable` that support discussions.
  def self.noteable_types
    %w(MergeRequest Issue Commit Snippet)
  end

  validates :noteable_type, inclusion: { in: noteable_types }

  def discussion_class(*)
    Discussion
  end
end