Passed
Push — master ( 4ab40f...089bf1 )
by Timo
03:39
created

RequestInfo::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 3
dl 0
loc 5
ccs 4
cts 4
cp 1
crap 1
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace hamburgscleanest\GuzzleAdvancedThrottle;
4
5
use DateTime;
6
7
/**
8
 * Class RequestInfo
9
 * @package hamburgscleanest\GuzzleAdvancedThrottle
10
 */
11
class RequestInfo
12
{
13
14
    /** @var int */
15
    public $requestCount;
16
    /** @var DateTime */
17
    public $expiresAt;
18
    /** @var int */
19
    public $remainingSeconds;
20
21
    /**
22
     * RequestInfo constructor.
23
     * @param int $requestCount
24
     * @param int $expirationTimestamp
25
     * @param int $remainingSeconds
26
     */
27 4
    public function __construct(int $requestCount, int $expirationTimestamp, int $remainingSeconds)
28
    {
29 4
        $this->requestCount = $requestCount;
30 4
        $this->expiresAt = (new DateTime())->setTimestamp($expirationTimestamp);
31 4
        $this->remainingSeconds = $remainingSeconds;
32 4
    }
33
34
    /**
35
     * @param int $requestCount
36
     * @param int $expirationTimestamp
37
     * @param int $remainingSeconds
38
     * @return RequestInfo
39
     */
40 4
    public static function create(int $requestCount, int $expirationTimestamp, int $remainingSeconds) : RequestInfo
41
    {
42 4
        return new static($requestCount, $expirationTimestamp, $remainingSeconds);
43
    }
44
}