Module: Issues::ResolveDiscussions
- Includes:
- Gitlab::Utils::StrongMemoize
- Included in:
- BuildService, CreateService
- Defined in:
- app/services/concerns/issues/resolve_discussions.rb
Instance Attribute Summary collapse
-
#discussion_to_resolve_id ⇒ Object
readonly
Returns the value of attribute discussion_to_resolve_id.
-
#merge_request_to_resolve_discussions_of_iid ⇒ Object
readonly
Returns the value of attribute merge_request_to_resolve_discussions_of_iid.
Instance Method Summary collapse
-
#discussions_to_resolve ⇒ Object
rubocop: enable CodeReuse/ActiveRecord.
-
#filter_resolve_discussion_params ⇒ Object
rubocop:disable Gitlab/ModuleWithInstanceVariables.
-
#merge_request_to_resolve_discussions_of ⇒ Object
rubocop: disable CodeReuse/ActiveRecord.
Instance Attribute Details
#discussion_to_resolve_id ⇒ Object (readonly)
Returns the value of attribute discussion_to_resolve_id.
7 8 9 |
# File 'app/services/concerns/issues/resolve_discussions.rb', line 7 def discussion_to_resolve_id @discussion_to_resolve_id end |
#merge_request_to_resolve_discussions_of_iid ⇒ Object (readonly)
Returns the value of attribute merge_request_to_resolve_discussions_of_iid.
7 8 9 |
# File 'app/services/concerns/issues/resolve_discussions.rb', line 7 def merge_request_to_resolve_discussions_of_iid @merge_request_to_resolve_discussions_of_iid end |
Instance Method Details
#discussions_to_resolve ⇒ Object
rubocop: enable CodeReuse/ActiveRecord
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/services/concerns/issues/resolve_discussions.rb', line 29 def discussions_to_resolve return [] unless merge_request_to_resolve_discussions_of @discussions_to_resolve ||= # rubocop:disable Gitlab/ModuleWithInstanceVariables if discussion_to_resolve_id discussion_or_nil = merge_request_to_resolve_discussions_of .find_discussion(discussion_to_resolve_id) Array(discussion_or_nil) else merge_request_to_resolve_discussions_of .discussions_to_be_resolved end end |
#filter_resolve_discussion_params ⇒ Object
rubocop:disable Gitlab/ModuleWithInstanceVariables
10 11 12 13 |
# File 'app/services/concerns/issues/resolve_discussions.rb', line 10 def filter_resolve_discussion_params @merge_request_to_resolve_discussions_of_iid ||= params.delete(:merge_request_to_resolve_discussions_of) @discussion_to_resolve_id ||= params.delete(:discussion_to_resolve) end |
#merge_request_to_resolve_discussions_of ⇒ Object
rubocop: disable CodeReuse/ActiveRecord
17 18 19 20 21 22 23 24 25 26 |
# File 'app/services/concerns/issues/resolve_discussions.rb', line 17 def merge_request_to_resolve_discussions_of strong_memoize(:merge_request_to_resolve_discussions_of) do # sometimes this will be a Group, when work item is created at group level. # Not sure if we will need to handle resolving an MR with an issue at group level? next unless container.is_a?(Project) MergeRequestsFinder.new(current_user, project_id: container.id) .find_by(iid: merge_request_to_resolve_discussions_of_iid) end end |