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

RequestInfo   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A create() 0 3 1
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
}