Test Failed
Push — master ( 459896...56e475 )
by Ehsan
03:15
created

AbstractClient::setConfig()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

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