diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb index 8ff670dd2bf3eac54d50a4a580e992cfad6c0669..5b0ae41164200ed37a0eedfb994cacecdbcd4378 100644 --- a/app/models/concerns/mentionable.rb +++ b/app/models/concerns/mentionable.rb @@ -79,9 +79,9 @@ def create_cross_references!(p = project, a = author, without = []) end end - # If the mentionable_text field is about to change, locate any *added* references and create cross references for - # them. Invoke from an observer's #before_save implementation. - def notice_added_references(p = project, a = author) + # When a mentionable field is changed, creates cross-reference notes that + # don't already exist + def create_new_cross_references!(p = project, a = author) changes = detect_mentionable_changes return if changes.empty? diff --git a/app/models/note.rb b/app/models/note.rb index 68b9d433ae02d843dfc1e1ad0403d3d790c3e580..62567f471dc5dcb523d3b0b72e6abe995e577870 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -356,7 +356,7 @@ def reset_events_cache end def set_references - notice_added_references(project, author) + create_new_cross_references!(project, author) end def editable? diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb index f848ecedd6b5fd6619b4428120839e966e626f11..eabab65c9b09dfb2cdf27ca0e2299d9948ebaaa8 100644 --- a/app/services/issues/update_service.rb +++ b/app/services/issues/update_service.rb @@ -35,7 +35,7 @@ def execute(issue) create_title_change_note(issue, issue.previous_changes['title'].first) end - issue.notice_added_references(issue.project, current_user) + issue.create_new_cross_references!(issue.project, current_user) execute_hooks(issue, 'update') end diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb index e5c5368f5d60fb23092df6cec7c9f1d6ab518c6a..589fad16165733691352086069ca0c81a2e1be5e 100644 --- a/app/services/merge_requests/update_service.rb +++ b/app/services/merge_requests/update_service.rb @@ -59,7 +59,7 @@ def execute(merge_request) merge_request.mark_as_unchecked end - merge_request.notice_added_references(merge_request.project, current_user) + merge_request.create_new_cross_references!(merge_request.project, current_user) execute_hooks(merge_request, 'update') end diff --git a/spec/models/concerns/mentionable_spec.rb b/spec/models/concerns/mentionable_spec.rb index 82e8a83bb3d7649c66772b94851e89eb3dc1ca23..2d6fe003215599acaf050a959299ab5d42ceadf6 100644 --- a/spec/models/concerns/mentionable_spec.rb +++ b/spec/models/concerns/mentionable_spec.rb @@ -29,7 +29,7 @@ end end - describe '#notice_added_references' do + describe '#create_new_cross_references!' do let(:project) { create(:project) } let(:issues) { create_list(:issue, 2, project: project) } @@ -40,7 +40,7 @@ expect(SystemNoteService).not_to receive(:cross_reference) issue.description = 'New description' - issue.notice_added_references + issue.create_new_cross_references! end it 'notifies new references' do @@ -49,7 +49,7 @@ expect(SystemNoteService).to receive(:cross_reference).with(issues[1], any_args) issue.description = issues[1].to_reference - issue.notice_added_references + issue.create_new_cross_references! end end @@ -60,7 +60,7 @@ expect(SystemNoteService).not_to receive(:cross_reference) issue.update_attributes(description: 'New description') - issue.notice_added_references + issue.create_new_cross_references! end it 'notifies new references' do @@ -69,7 +69,7 @@ expect(SystemNoteService).to receive(:cross_reference).with(issues[1], any_args) issue.update_attributes(description: issues[1].to_reference) - issue.notice_added_references + issue.create_new_cross_references! end end diff --git a/spec/support/mentionable_shared_examples.rb b/spec/support/mentionable_shared_examples.rb index a2a0b6905f9561592e5cde5f13afd2f774fba08c..f0717e6178198736abbd34558de2ad14c09367a8 100644 --- a/spec/support/mentionable_shared_examples.rb +++ b/spec/support/mentionable_shared_examples.rb @@ -143,6 +143,6 @@ def common_mentionable_setup end set_mentionable_text.call(new_text) - subject.notice_added_references(project, author) + subject.create_new_cross_references!(project, author) end end