summaryrefslogtreecommitdiff
path: root/app/services/issues/update_service.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-11-13 00:13:45 +0100
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-11-13 00:13:45 +0100
commit857710634c516cea8516e73132027a361364211c (patch)
tree57835380451f41c8da84f956cc7f9055fe83d80f /app/services/issues/update_service.rb
parent7f0b4ce16f14129f9c3f94b4a83fa8a6426cd4ba (diff)
downloadgitlab-ce-857710634c516cea8516e73132027a361364211c.tar.gz
Split complex method Issues::UpdateService#execute
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/services/issues/update_service.rb')
-rw-r--r--app/services/issues/update_service.rb29
1 files changed, 16 insertions, 13 deletions
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index 551325e4cab..aa1fd79d22d 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -22,24 +22,27 @@ module Issues
issue, issue.labels - old_labels, old_labels - issue.labels)
end
- if issue.previous_changes.include?('milestone_id')
- create_milestone_note(issue)
- end
-
- if issue.previous_changes.include?('assignee_id')
- create_assignee_note(issue)
- notification_service.reassigned_issue(issue, current_user)
- end
-
- if issue.previous_changes.include?('title')
- create_title_change_note(issue, issue.previous_changes['title'].first)
- end
-
+ handle_changes(issue)
issue.create_new_cross_references!(current_user)
execute_hooks(issue, 'update')
end
issue
end
+
+ def handle_changes(issue)
+ if issue.previous_changes.include?('milestone_id')
+ create_milestone_note(issue)
+ end
+
+ if issue.previous_changes.include?('assignee_id')
+ create_assignee_note(issue)
+ notification_service.reassigned_issue(issue, current_user)
+ end
+
+ if issue.previous_changes.include?('title')
+ create_title_change_note(issue, issue.previous_changes['title'].first)
+ end
+ end
end
end