functions.php ➔ reject()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 1
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace BenTools\Specification;
4
5
use BenTools\Specification\Exception\UnmetSpecificationException;
6
7
/**
8
 * @param             $specification
9
 * @param null|string $name
10
 * @return Specification
11
 * @throws \RuntimeException
12
 */
13
function spec($specification, ?string $name = null): Specification
14
{
15
    return Specification::factory($specification, $name);
16
}
17
18
/**
19
 * @param             $specification
20
 * @param null|string $name
21
 * @return Specification
22
 * @throws \RuntimeException
23
 */
24
function not($specification, ?string $name = null): Specification
25
{
26
    return Specification::factory($specification)->negate($name);
27
}
28
29
/**
30
 * @param             $specification
31
 * @param null|string $name
32
 * @return Specification
33
 * @throws \RuntimeException
34
 */
35
function group($specification, ?string $name = null): Specification
36
{
37
    return Specification::factory($specification)->asGroup($name);
38
}
39
40
/**
41
 * @param Specification[] ...$specifications
42
 * @throws UnmetSpecificationException
43
 */
44
function reject(Specification ...$specifications)
45
{
46
    if ([] !== $specifications) {
47
        UnmetSpecificationException::createFor(...$specifications)->throwIfUnmet();
48
    }
49
}
50