Class: SystemNoteMetadata

Inherits:
ApplicationRecord show all
Defined in:
app/models/system_note_metadata.rb

Constant Summary collapse

TYPES_WITH_CROSS_REFERENCES =

These notes's action text might contain a reference that is external. We should always force a deep validation upon references that are found in this note type. Other notes can always be safely shown as all its references are in the same project (i.e. with the same permissions)

%w[
  commit cross_reference
  close duplicate
  moved merge
  label milestone
  relate unrelate
].freeze
ICON_TYPES =
%w[
  commit description merge confidential visible label assignee cross_reference
  designs_added designs_modified designs_removed designs_discussion_added
  title time_tracking branch milestone discussion task moved
  opened closed merged duplicate locked unlocked outdated
  tag due_date pinned_embed cherry_pick health_status approved unapproved
  status alert_issue_added relate unrelate new_alert_added
].freeze

Instance Method Summary collapse

Methods inherited from ApplicationRecord

at_most, id_in, id_not_in, iid_in, pluck_primary_key, primary_key_in, safe_ensure_unique, safe_find_or_create_by, safe_find_or_create_by!, underscore, without_order

Instance Method Details

#cross_reference_typesObject


36
37
38
# File 'app/models/system_note_metadata.rb', line 36

def cross_reference_types
  TYPES_WITH_CROSS_REFERENCES
end

#icon_typesObject


32
33
34
# File 'app/models/system_note_metadata.rb', line 32

def icon_types
  ICON_TYPES
end