Class: DiffDiscussion
- Inherits:
-
Discussion
- Object
- Discussion
- DiffDiscussion
- Includes:
- DiscussionOnDiff
- Defined in:
- app/models/diff_discussion.rb
Overview
A discussion on merge request or commit diffs consisting of ‘DiffNote` notes.
A discussion of this type can be resolvable.
Constant Summary
Constants included from DiscussionOnDiff
DiscussionOnDiff::NUMBER_OF_TRUNCATED_DIFF_LINES
Constants inherited from Discussion
Instance Attribute Summary
Attributes inherited from Discussion
Class Method Summary collapse
Instance Method Summary collapse
- #cache_key ⇒ Object
- #legacy_diff_discussion? ⇒ Boolean
- #merge_request_version_params ⇒ Object
- #reply_attributes ⇒ Object
Methods included from DiscussionOnDiff
#diff_discussion?, #diff_file, #file_new_path, #line_code_in_diffs, #on_merge_request_commit?, #truncated_diff_lines
Methods inherited from Discussion
#==, base_discussion_id, build, build_collection, build_discussion_id, build_discussions, #can_convert_to_discussion?, #collapsed?, #declarative_policy_delegate, #diff_discussion?, discussion_id, #expanded?, #id, #individual_note?, #initialize, #last_note, #last_updated_at, #last_updated_by, lazy_find, #noteable_collection_name, #on_image?, override_discussion_id, #project_id, #reply_id, #to_global_id, #updated?
Methods included from ResolvableDiscussion
#can_resolve?, #clear_memoized_values, #first_note, #first_note_to_resolve, #last_resolved_note, #resolvable?, #resolve!, #resolved?, #resolved_by_push?, #resolved_notes, #to_be_resolved?, #unresolve!
Constructor Details
This class inherits a constructor from Discussion
Class Method Details
.note_class ⇒ Object
9 10 11 |
# File 'app/models/diff_discussion.rb', line 9 def self.note_class DiffNote end |
Instance Method Details
#cache_key ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'app/models/diff_discussion.rb', line 45 def cache_key positions_json = diff_note_positions.map { |dnp| Gitlab::Json.dump(dnp.position) } positions_sha = Digest::SHA1.hexdigest(positions_json.join(':')) if positions_json.any? [ super, Digest::SHA1.hexdigest(Gitlab::Json.dump(position)), positions_sha ].join(':') end |
#legacy_diff_discussion? ⇒ Boolean
21 22 23 |
# File 'app/models/diff_discussion.rb', line 21 def legacy_diff_discussion? false end |
#merge_request_version_params ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/models/diff_discussion.rb', line 25 def merge_request_version_params return unless for_merge_request? version_params = get_params return version_params unless on_merge_request_commit? && commit_id version_params ||= {} version_params.tap do |params| params[:commit_id] = commit_id end end |