AbstractClient::setArrayUtility()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Botonomous\client;
4
5
use Botonomous\Config;
6
use Botonomous\utility\ArrayUtility;
7
use /* @noinspection PhpUndefinedClassInspection */
8
    GuzzleHttp\Client;
9
10
/**
11
 * Class AbstractClient.
12
 */
13
abstract class AbstractClient
14
{
15
    private $client;
16
    private $config;
17
    private $arrayUtility;
18
19
    abstract public function apiCall(string $method, array $arguments = []);
20
21
    /** @noinspection PhpUndefinedClassInspection
22
     * @param Client $client
23
     */
24 33
    public function setClient(Client $client)
25
    {
26 33
        $this->client = $client;
27 33
    }
28
29
    /** @noinspection PhpUndefinedClassInspection
30
     * @return Client|null
31
     */
32 30
    public function getClient()
33
    {
34 30
        if (!isset($this->client)) {
35
            /* @noinspection PhpUndefinedClassInspection */
36 8
            $this->setClient(new Client());
37
        }
38
39 30
        return $this->client;
40
    }
41
42
    /**
43
     * @return ArrayUtility
44
     */
45 31
    public function getArrayUtility()
46
    {
47 31
        if (!isset($this->arrayUtility)) {
48 31
            $this->setArrayUtility(new ArrayUtility());
49
        }
50
51 31
        return $this->arrayUtility;
52
    }
53
54
    /**
55
     * @param ArrayUtility $arrayUtility
56
     */
57 31
    public function setArrayUtility(ArrayUtility $arrayUtility)
58
    {
59 31
        $this->arrayUtility = $arrayUtility;
60 31
    }
61
62
    /**
63
     * @return Config
64
     */
65 34
    public function getConfig()
66
    {
67 34
        if (!isset($this->config)) {
68 34
            $this->setConfig(new Config());
69
        }
70
71 34
        return $this->config;
72
    }
73
74
    /**
75
     * @param Config $config
76
     */
77 34
    public function setConfig(Config $config)
78
    {
79 34
        $this->config = $config;
80 34
    }
81
}
82