Completed
Pull Request — master (#115)
by Phil
03:12
created

MiddlewareAwareTrait   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Coupling/Cohesion

Components 3
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 73
wmc 7
lcom 3
cbo 1
ccs 18
cts 18
cp 1
rs 10

6 Methods

Rating   Name   Duplication   Size   Complexity  
A setMiddlewareRunner() 0 4 1
A getMiddlewareRunner() 0 8 2
A getMiddlewareBeforeQueue() 0 4 1
A getMiddlewareAfterQueue() 0 4 1
A before() 0 6 1
A after() 0 6 1
1
<?php
2
3
namespace League\Route\Middleware;
4
5
use RuntimeException;
6
7
trait MiddlewareAwareTrait
8
{
9
    /**
10
     * @var \League\Route\Middleware\Runner
11
     */
12
    protected $middlewareRunner;
13
14
    /**
15
     * @var callable[]
16
     */
17
    protected $middlewareBefore = [];
18
19
    /**
20
     * @var callable[]
21
     */
22
    protected $middlewareAfter = [];
23
24
    /**
25
     * {@inheritdoc}
26
     */
27 24
    public function setMiddlewareRunner(Runner $runner)
28
    {
29 24
        $this->middlewareRunner = $runner;
30 24
    }
31
32
    /**
33
     * {@inheritdoc}
34
     */
35 36
    public function getMiddlewareRunner()
36
    {
37 36
        if (is_null($this->middlewareRunner)) {
38 30
            $this->middlewareRunner = new Runner;
39 30
        }
40
41 36
        return $this->middlewareRunner;
42
    }
43
44
    /**
45
     * {@inheritdoc}
46
     */
47 24
    public function getMiddlewareBeforeQueue()
48
    {
49 24
        return $this->middlewareBefore;
50
    }
51
52
    /**
53
     * {@inheritdoc}
54
     */
55 24
    public function getMiddlewareAfterQueue()
56
    {
57 24
        return $this->middlewareAfter;
58
    }
59
60
    /**
61
     * {@inheritdoc}
62
     */
63 6
    public function before(callable $middleware)
64
    {
65 6
        $this->middlewareBefore[] = $middleware;
66
67 6
        return $this;
68
    }
69
70
    /**
71
     * {@inheritdoc}
72
     */
73 6
    public function after(callable $middleware)
74
    {
75 6
        $this->middlewareAfter[] = $middleware;
76
77 6
        return $this;
78
    }
79
}
80