PostPolicy::approvesRequest()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 0
cts 2
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Leonidas\Library\System\Model\Post\Policies;
4
5
use Leonidas\Library\System\Schema\Abstracts\ExpectsPostTrait;
6
use Psr\Http\Message\ServerRequestInterface;
7
use WebTheory\HttpPolicy\ServerRequestPolicyInterface;
8
9
class PostPolicy implements ServerRequestPolicyInterface
10
{
11
    use ExpectsPostTrait;
0 ignored issues
show
Bug introduced by
The trait Leonidas\Library\System\...tracts\ExpectsPostTrait requires the property $ID which is not provided by Leonidas\Library\System\...ost\Policies\PostPolicy.
Loading history...
12
13
    /**
14
     * @var int[]
15
     */
16
    protected array $posts = [];
17
18
    public function __construct(int ...$posts)
19
    {
20
        $this->posts = $posts;
21
    }
22
23
    /**
24
     * Get the value of posts
25
     *
26
     * @return int[]
27
     */
28
    public function getPosts(): array
29
    {
30
        return $this->posts;
31
    }
32
33
    public function approvesRequest(ServerRequestInterface $request): bool
34
    {
35
        return in_array($this->getPostId($request), $this->posts);
36
    }
37
}
38