Class: ResourceLabelEvent
Constant Summary
CacheMarkdownField::INVALIDATED_BY
ApplicationRecord::MAX_PLUCK
Instance Attribute Summary
Attributes included from Importable
#imported, #importing
Class Method Summary
collapse
Instance Method Summary
collapse
#attribute_invalidated?, #cached_html_for, #cached_html_up_to_date?, #can_cache_field?, #invalidated_markdown_cache?, #latest_cached_markdown_version, #local_version, #mentionable_attributes_changed?, #parent_user, #refresh_markdown_cache, #refresh_markdown_cache!, #rendered_field_content, #skip_project_check?, #store_mentions!, #updated_cached_html_for
#discussion_id
#clear_memoization, #strong_memoize, #strong_memoized?
cached_column_list, #create_or_load_association, declarative_enum, default_select_columns, id_in, id_not_in, iid_in, pluck_primary_key, primary_key_in, #readable_by?, safe_ensure_unique, safe_find_or_create_by, safe_find_or_create_by!, #to_ability_name, underscore, where_exists, where_not_exists, with_fast_read_statement_timeout, without_order
#serializable_hash
Class Method Details
.issuable_attrs ⇒ Object
25
26
27
|
# File 'app/models/resource_label_event.rb', line 25
def self.issuable_attrs
%i(issue merge_request).freeze
end
|
.preload_label_subjects(events) ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'app/models/resource_label_event.rb', line 29
def self.preload_label_subjects(events)
labels = events.map(&:label).compact
project_labels, group_labels = labels.partition { |label| label.is_a? ProjectLabel }
preloader = ActiveRecord::Associations::Preloader.new
preloader.preload(project_labels, { project: :project_feature })
preloader.preload(group_labels, :group)
end
|
.visible_to_user?(user, events) ⇒ Boolean
Instance Method Details
#banzai_render_context(field) ⇒ Object
56
57
58
|
# File 'app/models/resource_label_event.rb', line 56
def banzai_render_context(field)
super.merge(pipeline: :label, only_path: true, label_url_method: label_url_method)
end
|
#group ⇒ Object
46
47
48
|
# File 'app/models/resource_label_event.rb', line 46
def group
issuable.group if issuable.respond_to?(:group)
end
|
#issuable ⇒ Object
38
39
40
|
# File 'app/models/resource_label_event.rb', line 38
def issuable
issue || merge_request
end
|
#outdated_markdown? ⇒ Boolean
50
51
52
53
54
|
# File 'app/models/resource_label_event.rb', line 50
def outdated_markdown?
return true if label_id.nil? && reference.present?
reference.nil? || latest_cached_markdown_version != cached_markdown_version
end
|
#project ⇒ Object
42
43
44
|
# File 'app/models/resource_label_event.rb', line 42
def project
issuable.project
end
|
#refresh_invalid_reference ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'app/models/resource_label_event.rb', line 60
def refresh_invalid_reference
self.reference = '' if label_id.nil?
self.reference ||= label_reference
if changed?
save
elsif invalidated_markdown_cache?
refresh_markdown_cache!
end
end
|