Passed
Push — main ( 943ab3...d41742 )
by Breno
08:18 queued 06:16
created

SortByPriority   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 9
Duplicated Lines 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
eloc 5
c 1
b 1
f 0
dl 0
loc 9
rs 10
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A sortByPriority() 0 7 3
1
<?php
2
3
namespace BrenoRoosevelt\Validation;
4
5
use BrenoRoosevelt\Validation\Contracts\Prioritable;
6
7
trait SortByPriority
8
{
9
    protected static function sortByPriority(array &$haystack): void
10
    {
11
        uasort($haystack, function ($a, $b) {
12
            $prorityOfA = $a instanceof Prioritable ? $a->getPriority() : Prioritable::LOWEST_PRIORITY;
13
            $prorityOfB = $b instanceof Prioritable ? $b->getPriority() : Prioritable::LOWEST_PRIORITY;
14
15
            return $prorityOfA <=> $prorityOfB;
16
        });
17
    }
18
}
19