diff options
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index acf80addc6a..af8cb37bfb6 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -203,6 +203,22 @@ class MergeRequest < ActiveRecord::Base '!' end + # Returns the top 100 target branches + # + # The returned value is a Array containing branch names + # sort by updated_at of merge request: + # + # ['master', 'develop', 'production'] + # + # limit - The maximum number of target branch to return. + def self.recent_target_branches(limit: 100) + group(:target_branch) + .select(:target_branch) + .reorder('MAX(merge_requests.updated_at) DESC') + .limit(limit) + .pluck(:target_branch) + end + def rebase_in_progress? strong_memoize(:rebase_in_progress) do # The source project can be deleted |