Completed
Push — master ( 0c3e56...10d7ff )
by Pascal
03:13
created

Client::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 1

Importance

Changes 11
Bugs 0 Features 11
Metric Value
c 11
b 0
f 11
dl 0
loc 15
ccs 13
cts 13
cp 1
rs 9.4285
cc 1
eloc 12
nc 1
nop 2
crap 1
1
<?php
2
namespace Atog\PHPokemon;
3
4
use Atog\Api\Client as AbstractClient;
5
use Atog\PHPokemon\Endpoints;
6
use \Atog\PHPokemon\Models;
7
8
/**
9
 * Class Client
10
 * @property-read \Atog\PHPokemon\Endpoints\Pokedex pokedex
11
 * @property-read \Atog\PHPokemon\Endpoints\Pokemon pokemon
12
 * @property-read \Atog\PHPokemon\Endpoints\Types types
13
 * @property-read \Atog\PHPokemon\Endpoints\Moves moves
14
 * @property-read \Atog\PHPokemon\Endpoints\Abilities abilities
15
 * @property-read \Atog\PHPokemon\Endpoints\EggGroups eggGroups
16
 * @property-read \Atog\PHPokemon\Endpoints\Descriptions descriptions
17
 * @property-read \Atog\PHPokemon\Endpoints\Sprites sprites
18
 * @property-read \Atog\PHPokemon\Endpoints\Games games
19
 * @package Atog\PHPokemon
20
 */
21
class Client extends AbstractClient
22
{
23
    /**
24
     * @var array
25
     */
26
    protected $defaultEndpoints = [
27
        Endpoints\Pokedex::class,
28
        Endpoints\Pokemon::class,
29
        Endpoints\Types::class,
30
        Endpoints\Moves::class,
31
        Endpoints\Abilities::class,
32
        Endpoints\EggGroups::class,
33
        Endpoints\Descriptions::class,
34
        Endpoints\Sprites::class,
35
        Endpoints\Games::class
36
    ];
37
38
    /**
39
     * @var string
40
     */
41
    protected $domain = 'http://pokeapi.co/api/v1';
42
43
    /**
44
     * Client constructor.
45
     * @param array $endpoints
46
     * @param array $config
47
     */
48 10
    public function __construct(array $endpoints = [], array $config = [])
49
    {
50 10
        $config['models'] = [
51 10
            'Pokedex'      => Models\Pokedex::class,
52 10
            'Pokemon'      => Models\Pokemon::class,
53 10
            'Types'        => Models\Types::class,
54 10
            'Moves'        => Models\Moves::class,
55 10
            'Abilities'    => Models\Abilities::class,
56 10
            'EggGroups'    => Models\EggGroups::class,
57 10
            'Descriptions' => Models\Descriptions::class,
58 10
            'Sprites'      => Models\Sprites::class,
59
            'Games'        => Models\Games::class
60 10
        ];
61 10
        parent::__construct(array_merge($this->defaultEndpoints, $endpoints), $config);
62 10
    }
63
}
64