Commit 3f4e215c804f13def585dea995efa29b2af266ec

Authored by Sebastian Ziebell
1 parent 413952ff

Extracted helper method to avoid code duplication

Showing 1 changed file with 19 additions and 14 deletions   Show diff stats
lib/api/merge_requests.rb
... ... @@ -5,6 +5,23 @@ module Gitlab
5 5  
6 6 resource :projects do
7 7  
  8 + helpers do
  9 + # If an error occurred this helper method provides an appropriate status code
  10 + #
  11 + # Parameters:
  12 + # merge_request_errors (required) - The errors collection of MR
  13 + #
  14 + def handle_merge_request_error(merge_request_errors)
  15 + if merge_request_errors[:target_branch].any?
  16 + error!(merge_request_errors[:target_branch], 400)
  17 + elsif merge_request_errors[:source_branch].any?
  18 + error!(merge_request_errors[:source_branch], 400)
  19 + elsif merge_request_errors[:base].any?
  20 + error!(merge_request_errors[:base], 422)
  21 + end
  22 + end
  23 + end
  24 +
8 25 # List merge requests
9 26 #
10 27 # Parameters:
... ... @@ -60,13 +77,7 @@ module Gitlab
60 77 merge_request.reload_code
61 78 present merge_request, with: Entities::MergeRequest
62 79 else
63   - if merge_request.errors[:target_branch].any?
64   - error!(merge_request.errors[:target_branch], 400)
65   - elsif merge_request.errors[:source_branch].any?
66   - error!(merge_request.errors[:source_branch], 400)
67   - elsif merge_request.errors[:base].any?
68   - error!(merge_request.errors[:base], 422)
69   - end
  80 + handle_merge_request_error(merge_request.errors)
70 81 not_found!
71 82 end
72 83 end
... ... @@ -95,13 +106,7 @@ module Gitlab
95 106 merge_request.mark_as_unchecked
96 107 present merge_request, with: Entities::MergeRequest
97 108 else
98   - if merge_request.errors[:target_branch].any?
99   - error!(merge_request.errors[:target_branch], 400)
100   - elsif merge_request.errors[:source_branch].any?
101   - error!(merge_request.errors[:source_branch], 400)
102   - elsif merge_request.errors[:base].any?
103   - error!(merge_request.errors[:base], 422)
104   - end
  109 + handle_merge_request_error(merge_request.errors)
105 110 not_found!
106 111 end
107 112 end
... ...