Passed
Push — master ( 7e6ab9...0e6fd8 )
by Fabian
01:51
created

RecentTradesResponse   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 44
ccs 0
cts 19
cp 0
rs 10
c 1
b 0
f 0
wmc 6

3 Methods

Rating   Name   Duplication   Size   Complexity  
A manualMapping() 0 6 3
A getTradeModel() 0 7 2
A getLast() 0 3 1
1
<?php
2
3
namespace HanischIt\KrakenApi\Model\RecentTrades;
4
5
use HanischIt\KrakenApi\Model\ResponseInterface;
6
7
/**
8
 * Class RecentTradesResponse
9
 *
10
 * @package HanischIt\KrakenApi\Model\AccountBalance
11
 */
12
class RecentTradesResponse implements ResponseInterface
13
{
14
    /**
15
     * @var RecentTradeModel[][]
16
     */
17
    private $tradeModel = [];
18
    /**
19
     * @var int
20
     */
21
    private $last;
22
23
    /**
24
     * @param $result
25
     */
26
    public function manualMapping($result)
27
    {
28
        $this->last = $result["last"];
29
        foreach ($result as $assetName => $trades) {
30
            foreach ($trades as $trade) {
31
                $this->tradeModel[$assetName][] = new RecentTradeModel($trade[0], $trade[1], $trade[2], $trade[3], $trade[4], $trade[5]);
32
            }
33
        }
34
    }
35
36
    /**
37
     * @param string $assetPair
38
     *
39
     * @return RecentTradeModel[]
40
     */
41
    public function getTradeModel($assetPair)
42
    {
43
        if (!isset($this->tradeModel[$assetPair])) {
44
            return [];
45
        }
46
47
        return $this->tradeModel[$assetPair];
48
    }
49
50
    /**
51
     * @return int
52
     */
53
    public function getLast()
54
    {
55
        return $this->last;
56
    }
57
}
58