Test Failed
Push — master ( f1d563...1fab6c )
by Vladislav
10:20 queued 07:53
created

IndexPriceKlineResponseItem   A

Complexity

Total Complexity 11

Size/Duplication

Total Lines 125
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 27
c 1
b 0
f 0
dl 0
loc 125
rs 10
wmc 11

11 Methods

Rating   Name   Duplication   Size   Complexity  
A setHigh() 0 4 1
A setStartTime() 0 4 1
A getClose() 0 3 1
A __construct() 0 8 1
A getStartTime() 0 3 1
A getLow() 0 3 1
A setOpen() 0 4 1
A setClose() 0 4 1
A getHigh() 0 3 1
A getOpen() 0 3 1
A setLow() 0 4 1
1
<?php
2
3
namespace Carpenstar\ByBitAPI\Derivatives\MarketData\IndexPriceKline\Response;
4
5
use Carpenstar\ByBitAPI\Core\Helpers\DateTimeHelper;
6
use Carpenstar\ByBitAPI\Core\Objects\AbstractResponse;
7
use Carpenstar\ByBitAPI\Derivatives\MarketData\IndexPriceKline\Interfaces\IIndexPriceKlineResponseItemInterface;
8
9
class IndexPriceKlineResponseItem extends AbstractResponse implements IIndexPriceKlineResponseItemInterface
10
{
11
    /**
12
     * @var \DateTime $start
13
     */
14
    private \DateTime $startTime;
15
16
    /**
17
     * @var float $open
18
     */
19
    private float $open;
20
21
    /**
22
     * @var float $high
23
     */
24
    private float $high;
25
26
    /**
27
     * @var float $low
28
     */
29
    private float $low;
30
31
    /**
32
     * @var float $close
33
     */
34
    private float $close;
35
36
    public function __construct(array $data)
37
    {
38
        $this
39
            ->setStartTime($data[0])
40
            ->setOpen($data[1])
41
            ->setHigh($data[2])
42
            ->setLow($data[3])
43
            ->setClose($data[4]);
44
    }
45
46
    /**
47
     * @param int $startTime
48
     * @return IndexPriceKlineResponse
49
     */
50
    public function setStartTime(int $startTime): self
51
    {
52
        $this->startTime = DateTimeHelper::makeFromTimestamp($startTime);
53
        return $this;
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this returns the type Carpenstar\ByBitAPI\Deri...xPriceKlineResponseItem which is incompatible with the documented return type Carpenstar\ByBitAPI\Deri...IndexPriceKlineResponse.
Loading history...
54
    }
55
56
    /**
57
     * @return \DateTime
58
     */
59
    public function getStartTime(): \DateTime
60
    {
61
        return $this->startTime;
62
    }
63
64
    /**
65
     * @param float $open
66
     * @return $this
67
     */
68
    private function setOpen(float $open): self
69
    {
70
        $this->open = $open;
71
        return $this;
72
    }
73
74
    /**
75
     * @return float
76
     */
77
    public function getOpen(): float
78
    {
79
        return $this->open;
80
    }
81
82
    /**
83
     * @param float $high
84
     * @return $this
85
     */
86
    private function setHigh(float $high): self
87
    {
88
        $this->high = $high;
89
        return $this;
90
    }
91
92
    /**
93
     * @return float
94
     */
95
    public function getHigh(): float
96
    {
97
        return $this->high;
98
    }
99
100
    /**
101
     * @param float $low
102
     * @return $this
103
     */
104
    private function setLow(float $low): self
105
    {
106
        $this->low = $low;
107
        return $this;
108
    }
109
110
    /**
111
     * @return float
112
     */
113
    public function getLow(): float
114
    {
115
        return $this->low;
116
    }
117
118
    /**
119
     * @param float $close
120
     * @return $this
121
     */
122
    private function setClose(float $close): self
123
    {
124
        $this->close = $close;
125
        return $this;
126
    }
127
128
    /**
129
     * @return float
130
     */
131
    public function getClose(): float
132
    {
133
        return $this->close;
134
    }
135
}