diff options
author | Hiroyuki Sato <sathiroyuki@gmail.com> | 2019-03-09 12:22:58 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-03-09 12:22:58 +0000 |
commit | de784ac10516ec1e1c93d164f3d99b2ff09e5889 (patch) | |
tree | fd3e0a4d845545f2ffa72e82294394a2139a4e50 /app/models/merge_request.rb | |
parent | 6908c5f70eb4d5d7e8ef28b43d73d71da9b2a0c3 (diff) | |
download | gitlab-ce-de784ac10516ec1e1c93d164f3d99b2ff09e5889.tar.gz |
Filter merge requests by target branch
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 |