GetMedalsByTime   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 32
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A __invoke() 0 19 2
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