diff options
author | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-02-17 14:33:30 -0200 |
---|---|---|
committer | Douglas Barbosa Alexandre <dbalexandre@gmail.com> | 2016-02-20 12:10:26 -0200 |
commit | 56a5fc0cd331143c9a2b4215db3dba6cefd6cc3e (patch) | |
tree | 0fd7d0de89d1712d26e63b344776f76ff6fd17b5 | |
parent | 372cdf4ce5fa124e03e2c93e9d1ed586d489b1d8 (diff) | |
download | gitlab-ce-56a5fc0cd331143c9a2b4215db3dba6cefd6cc3e.tar.gz |
Move common behavior to to IssuableBaseService
-rw-r--r-- | app/services/issuable_base_service.rb | 13 | ||||
-rw-r--r-- | app/services/issues/update_service.rb | 17 | ||||
-rw-r--r-- | app/services/merge_requests/update_service.rb | 17 |
3 files changed, 13 insertions, 34 deletions
diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 63025c10fb0..fef96639ace 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -71,6 +71,19 @@ class IssuableBaseService < BaseService end end + def have_changes?(issuable, options = {}) + valid_attrs = [:title, :description, :assignee_id, :milestone_id, :target_branch] + + attrs_changed = valid_attrs.any? do |attr| + issuable.previous_changes.include?(attr.to_s) + end + + old_labels = options[:old_labels] + labels_changed = old_labels && issuable.labels != old_labels + + attrs_changed || labels_changed + end + def handle_common_system_notes(issuable, options = {}) if issuable.previous_changes.include?('title') create_title_change_note(issuable, issuable.previous_changes['title'].first) diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb index fb9571247cc..48645a8e558 100644 --- a/app/services/issues/update_service.rb +++ b/app/services/issues/update_service.rb @@ -27,22 +27,5 @@ module Issues def close_service Issues::CloseService end - - private - - def have_changes?(issue, options = {}) - valid_attrs = [:title, :description, :assignee_id, :milestone_id] - - attrs_changed = valid_attrs.any? do |attr| - issue.previous_changes.include?(attr.to_s) - end - - old_labels = options[:old_labels] - labels_changed = old_labels && issue.labels != old_labels - - if attrs_changed || labels_changed - task_service.mark_as_done(issue, current_user) - end - end end end diff --git a/app/services/merge_requests/update_service.rb b/app/services/merge_requests/update_service.rb index 34ee6b3eecd..f9f4d9a4f27 100644 --- a/app/services/merge_requests/update_service.rb +++ b/app/services/merge_requests/update_service.rb @@ -48,22 +48,5 @@ module MergeRequests def close_service MergeRequests::CloseService end - - private - - def have_changes?(merge_request, options = {}) - valid_attrs = [:title, :description, :assignee_id, :milestone_id, :target_branch] - - attrs_changed = valid_attrs.any? do |attr| - merge_request.previous_changes.include?(attr.to_s) - end - - old_labels = options[:old_labels] - labels_changed = old_labels && merge_request.labels != old_labels - - if attrs_changed || labels_changed - task_service.mark_as_done(merge_request, current_user) - end - end end end |