GetMedalsByTime::__invoke()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 19
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 14
nc 2
nop 1
dl 0
loc 19
rs 9.7998
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace VideoGamesRecords\DwhBundle\Controller\Player;
6
7
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
8
use VideoGamesRecords\CoreBundle\Entity\Player;
9
use VideoGamesRecords\DwhBundle\Repository\PlayerRepository;
10
11
class GetMedalsByTime extends AbstractController
12
{
13
    private PlayerRepository $playerRepository;
14
15
    public function __construct(PlayerRepository $playerRepository)
16
    {
17
        $this->playerRepository = $playerRepository;
18
    }
19
20
    /**
21
     * @param Player $player
22
     * @return array
23
     */
24
    public function __invoke(Player $player): array
25
    {
26
        $list = $this->playerRepository->findBy(array('id' => $player->getId()), array('date' => 'ASC'));
27
28
        $return = [
29
            'rank0' => [],
30
            'rank1' => [],
31
            'rank2' => [],
32
            'rank3' => [],
33
            'date' => [],
34
        ];
35
        foreach ($list as $object) {
36
            $return['rank0'][] = $object->getChartRank0();
37
            $return['rank1'][] = $object->getChartRank1();
38
            $return['rank2'][] = $object->getChartRank2();
39
            $return['rank3'][] = $object->getChartRank3();
40
            $return['date'][] = $object->getDate();
41
        }
42
        return $return;
43
    }
44
}
45