Completed
Push — master ( ca1131...42ef77 )
by Woody
03:33
created

MiddlewareSet::assertValid()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 12
rs 9.2
ccs 8
cts 8
cp 1
nc 3
cc 4
eloc 6
nop 1
crap 4
1
<?php
2
3
namespace Equip\Middleware;
4
5
use DomainException;
6
use Equip\Compatibility\StructureWithDataAlias;
7
use Equip\Structure\Set;
8
9
class MiddlewareSet extends Set
10
{
11
    use StructureWithDataAlias;
12
13
    /**
14
     * @inheritDoc
15
     *
16
     * @throws \DomainException if $middlewares does not conform to type expectations
17
     */
18 10
    protected function assertValid(array $middlewares)
19
    {
20 10
        parent::assertValid($middlewares);
21
22 10
        foreach ($middlewares as $middleware) {
23 3
            if (!(is_callable($middleware) || method_exists($middleware, '__invoke'))) {
24 1
                throw new DomainException(
25
                    'All elements of $middlewares must be callable'
26 1
                );
27
            }
28 9
        }
29 9
    }
30
}
31