Completed
Pull Request — master (#3)
by Nikola
01:37
created

RequestsPerWindowOptions::getLimit()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
/**
3
 * This file is part of the Rate Limit package.
4
 *
5
 * Copyright (c) Nikola Posa
6
 *
7
 * For full copyright and license information, please refer to the LICENSE file,
8
 * located at the package root folder.
9
 */
10
11
declare(strict_types=1);
12
13
namespace RateLimit\Options;
14
15
/**
16
 * @author Nikola Posa <[email protected]>
17
 */
18
class RequestsPerWindowOptions implements OptionsInterface
19
{
20
    /**
21
     * @var int
22
     */
23
    protected $limit;
24
25
    /**
26
     * @var int
27
     */
28
    protected $window;
29
30
    /**
31
     * @var callable
32
     */
33
    protected $whitelist;
34
35
    /**
36
     * @var callable
37
     */
38
    protected $limitExceededHandler;
39
40 12
    public function __construct(int $limit, int $window, callable $whitelist, callable $limitExceededHandler)
41
    {
42 12
        $this->limit = $limit;
43 12
        $this->window = $window;
44 12
        $this->whitelist = $whitelist;
45 12
        $this->limitExceededHandler = $limitExceededHandler;
46 12
    }
47
48 8
    public function getLimit() : int
49
    {
50 8
        return $this->limit;
51
    }
52
53 8
    public function getWindow() : int
54
    {
55 8
        return $this->window;
56
    }
57
58 7
    public function getWhitelist() : callable
59
    {
60 7
        return $this->whitelist;
61
    }
62
63 3
    public function getLimitExceededHandler() : callable
64
    {
65 3
        return $this->limitExceededHandler;
66
    }
67
}
68