Class: Danger::AssignStrategies::LeastBusyStrategy
- Defined in:
- lib/gitlab_reviewbot/strategies/least_busy.rb
Instance Attribute Summary
Attributes inherited from Strategy
#client, #group_name, #mr_iid, #project_id
Instance Method Summary collapse
Methods inherited from Strategy
#assign!, #author, #initialize, #users_in_group
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 18 19 20 |
# File 'lib/gitlab_reviewbot/strategies/least_busy.rb', line 6 def assignees(amount) review_counter = client.fetch_users_for_group(group_name).reduce({}) do |counter, user| counter[user.id] = user counter end users = client.users_with_pending_mr_review(project_id) do |counter, user| next if counter[user.id].nil? counter[user.id].review_count += 1 counter end users.filter { |u| u.id != .id } .sort_by(&:review_count) .last(amount) end |