Passed
Pull Request — master (#302)
by Théo
02:21
created

SimpleScoper   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 5
eloc 18
dl 0
loc 51
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A scope() 0 8 1
A getWhitelist() 0 3 1
A changeWhitelist() 0 3 1
A getPrefix() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the box project.
7
 *
8
 * (c) Kevin Herrera <[email protected]>
9
 *     Théo Fidry <[email protected]>
10
 *
11
 * This source file is subject to the MIT license that is bundled
12
 * with this source code in the file LICENSE.
13
 */
14
15
namespace KevinGH\Box\PhpScoper;
16
17
use Humbug\PhpScoper\Scoper as PhpScoper;
18
use Humbug\PhpScoper\Whitelist;
19
20
final class SimpleScoper implements Scoper
21
{
22
    private $scoper;
23
    private $prefix;
24
    private $whitelist;
25
    private $patchers;
26
27
    public function __construct(PhpScoper $scoper, string $prefix, Whitelist $whitelist, array $patchers)
28
    {
29
        $this->scoper = $scoper;
30
        $this->prefix = $prefix;
31
        $this->whitelist = $whitelist;
32
        $this->patchers = $patchers;
33
    }
34
35
    /**
36
     * {@inheritdoc}
37
     */
38
    public function scope(string $filePath, string $contents): string
39
    {
40
        return $this->scoper->scope(
41
            $filePath,
42
            $contents,
43
            $this->prefix,
44
            $this->patchers,
45
            $this->whitelist
46
        );
47
    }
48
49
    /**
50
     * {@inheritdoc}
51
     */
52
    public function changeWhitelist(Whitelist $whitelist): void
53
    {
54
        $this->whitelist = $whitelist;
55
    }
56
57
    /**
58
     * {@inheritdoc}
59
     */
60
    public function getWhitelist(): Whitelist
61
    {
62
        return $this->whitelist;
63
    }
64
65
    /**
66
     * {@inheritdoc}
67
     */
68
    public function getPrefix(): string
69
    {
70
        return $this->prefix;
71
    }
72
}
73