summaryrefslogtreecommitdiff
path: root/app/models/discussion_note.rb
blob: 5049107da2c8018750ead4c7ec1f70d916250cb0 (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_if_ee('EE::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