Class: Phronomy::Agent::ContextParts::Selectors::RecentFirstSelector
- Inherits:
-
Object
- Object
- Phronomy::Agent::ContextParts::Selectors::RecentFirstSelector
- Defined in:
- lib/phronomy/agent/context_parts/selectors/recent_first_selector.rb
Instance Method Summary collapse
Instance Method Details
#order(request:, units:) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/phronomy/agent/context_parts/selectors/recent_first_selector.rb', line 8 def order(request:, units:) candidates = request.candidates.to_h { |candidate| [candidate.candidate_id, candidate] } Array(units).sort_by do |unit| required_rank = (unit.requirement == :optional) ? 1 : 0 current_rank = current_execution_unit?(request, unit, candidates) ? 0 : 1 [required_rank, current_rank, -unit.priority, -unit.sequence_range.last] end.freeze end |