Completed
Push — master ( a1d3b0...f47b8c )
by Nikola
02:43
created

ConfigAssertion   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 1
dl 0
loc 29
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A notEmptyString() 0 6 1
A isArrayOrInstanceOf() 0 8 2
A isArrayOrCallable() 0 8 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MonologFactory\Config;
6
7
use Assert\Assertion;
8
use MonologFactory\Exception\InvalidConfig;
9
10
/**
11
 * @method static bool allIsArrayOrInstanceOf(mixed[] $value, string $className, $message = null)
12
 * @method static bool allIsArrayOrCallable(mixed[] $value, string $className, $message = null)
13
 * @method static bool nullOrIsArrayOrInstanceOf(mixed[] $value, string $className, $message = null)
14
 * @method static bool nullOrIsArrayOrCallable(mixed[] $value, $message = null)
15
 */
16
final class ConfigAssertion extends Assertion
17
{
18
    protected static $exceptionClass = InvalidConfig::class;
19
20 16
    public static function notEmptyString($value, $message = null): bool
21
    {
22 16
        self::minLength($value, 1, $message);
23
24 16
        return true;
25
    }
26
27 11
    public static function isArrayOrInstanceOf($value, string $className, $message = null): bool
28
    {
29 11
        if (!is_array($value)) {
30 6
            static::isInstanceOf($value, $className, $message);
31
        }
32
33 10
        return true;
34
    }
35
36 9
    public static function isArrayOrCallable($value, $message = null): bool
37
    {
38 9
        if (!is_array($value)) {
39 4
            static::isCallable($value, $message);
40
        }
41
42 8
        return true;
43
    }
44
}
45