Passed
Push — master ( 3e99b0...1fa2df )
by Vladislav
04:12 queued 01:58
created

getFundingRateTimestamp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
namespace Carpenstar\ByBitAPI\Derivatives\MarketData\FundingRateHistory\Response;
3
4
use Carpenstar\ByBitAPI\Core\Helpers\DateTimeHelper;
5
use Carpenstar\ByBitAPI\Core\Objects\ResponseEntity;
6
use Carpenstar\ByBitAPI\Derivatives\MarketData\FundingRateHistory\Interfaces\IFundingRateHistoryResponse;
7
8
class FundingRateHistoryResponse extends ResponseEntity implements IFundingRateHistoryResponse
9
{
10
    /**
11
     * Symbol name
12
     * @var string $symbol
13
     */
14
    private string $symbol;
15
16
    /**
17
     * Funding rate
18
     * @var float $fundingRate
19
     */
20
    private float $fundingRate;
21
22
    /**
23
     * Funding rate timestamp
24
     * @var \DateTime $fundingRateTimestamp
25
     */
26
    private \DateTime $fundingRateTimestamp;
27
28
    public function __construct(array $data)
29
    {
30
        $this
31
            ->setSymbol($data['symbol'])
32
            ->setFundingRate($data['fundingRate'])
33
            ->setFundingRateTimestamp($data['fundingRateTimestamp']);
34
    }
35
36
    /**
37
     * @param string $symbol
38
     * @return FundingRateHistoryResponse
39
     */
40
    private function setSymbol(string $symbol): self
41
    {
42
        $this->symbol = $symbol;
43
        return $this;
44
    }
45
46
    /**
47
     * @return string
48
     */
49
    public function getSymbol(): string
50
    {
51
        return $this->symbol;
52
    }
53
54
    /**
55
     * @param float $fundingRate
56
     * @return FundingRateHistoryResponse
57
     */
58
    private function setFundingRate(float $fundingRate): self
59
    {
60
        $this->fundingRate = $fundingRate;
61
        return $this;
62
    }
63
64
    /**
65
     * @return float
66
     */
67
    public function getFundingRate(): float
68
    {
69
        return $this->fundingRate;
70
    }
71
72
    /**
73
     * @param int $fundingRateTimestamp
74
     * @return FundingRateHistoryResponse
75
     */
76
    private function setFundingRateTimestamp(int $fundingRateTimestamp): self
77
    {
78
        $this->fundingRateTimestamp = DateTimeHelper::makeFromTimestamp($fundingRateTimestamp);
79
        return $this;
80
    }
81
82
    /**
83
     * @return \DateTime
84
     */
85
    public function getFundingRateTimestamp(): \DateTime
86
    {
87
        return $this->fundingRateTimestamp;
88
    }
89
90
91
}