ExchangeAbstract   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 58
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0

10 Methods

Rating   Name   Duplication   Size   Complexity  
setClient() 0 1 ?
buyOrder() 0 1 ?
sellOrder() 0 1 ?
cancelOrder() 0 1 ?
getOrders() 0 1 ?
getTransactionHistory() 0 1 ?
getTicker() 0 1 ?
send() 0 1 ?
A __construct() 0 5 1
A setConfig() 0 5 1
1
<?php
2
3
namespace Del\Exchange;
4
5
use GuzzleHttp\Client;
6
7
abstract class ExchangeAbstract implements ExchangeInterface
8
{
9
    /** @var Config $config */
10
    protected $config;
11
12
    /** @var Client  */
13
    protected $client;
14
15
    /**
16
     * @param null|Config $config
17
     */
18 9
    public function __construct(Config $config)
19
    {
20 9
        $this->setConfig($config);
21 9
        $this->setClient();
22 9
    }
23
24
    abstract public function setClient();
25
26
    /**
27
     * @param Config $config
28
     * @return ExchangeInterface
29
     */
30 9
    public function setConfig(Config $config)
31
    {
32 9
        $this->config = $config;
33 9
        return $this;
34
    }
35
36
    /**
37
     * @param $amt
38
     * @param $price
39
     * @return mixed
40
     */
41
    abstract public function buyOrder($amt, $price);
42
43
    /**
44
     * @param $amt
45
     * @param $price
46
     * @return mixed
47
     */
48
    abstract public function sellOrder($amt, $price);
49
50
    /**
51
     * @param $orderid
52
     * @return mixed
53
     */
54
    abstract public function cancelOrder($orderid);
55
56
    abstract public function getOrders();
57
58
    abstract public function getTransactionHistory();
59
60
    abstract public function getTicker();
61
62
    abstract public function send($uri, array $params = []);
63
64
}