summaryrefslogtreecommitdiff
path: root/app/services/auto_merge/base_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/auto_merge/base_service.rb')
-rw-r--r--app/services/auto_merge/base_service.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/services/auto_merge/base_service.rb b/app/services/auto_merge/base_service.rb
index e08b4ac2260..1de2f31f87c 100644
--- a/app/services/auto_merge/base_service.rb
+++ b/app/services/auto_merge/base_service.rb
@@ -49,6 +49,14 @@ module AutoMerge
end
end
+ def available_for?(merge_request)
+ strong_memoize("available_for_#{merge_request.id}") do
+ merge_request.can_be_merged_by?(current_user) &&
+ merge_request.mergeable_state?(skip_ci_check: true) &&
+ yield
+ end
+ end
+
private
def strategy