Class: Danger::AssignStrategies::LeastBusyStrategy
- Defined in:
- lib/gitlab_reviewbot/strategies/least_busy.rb
Instance Attribute Summary
Attributes inherited from Strategy
#client, #excluded_users, #group_name, #mr_iid, #project_id
Instance Method Summary collapse
Methods inherited from Strategy
#assign!, #fetch_assigned_reviewers, #fetch_author, #fetch_users_in_group, #initialize
Constructor Details
This class inherits a constructor from Danger::AssignStrategies::Strategy
Instance Method Details
#assignees(amount) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/gitlab_reviewbot/strategies/least_busy.rb', line 6 def assignees(amount) users_in_group = fetch_users_in_group() = () invalid_assignees = [ () ] + fetch_assigned_reviewers() users_with_reviews_pending = client.users_with_pending_mr_review(project_id).filter { |u| users_in_group.include? u } users_without_reviews_pending = users_in_group.filter { |u| ! users_with_reviews_pending.include? u } (users_with_reviews_pending + users_without_reviews_pending).filter { |u| u.id != .id } .sort_by(&:review_count) .first(amount) end |