Completed
Push — master ( 693288...ff001c )
by Andreas
10s
created

InvalidConfigException   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 1
dl 0
loc 49
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A fromPHPFileError() 0 4 1
A fromJSONFileError() 0 4 1
A fromYAMLFileError() 0 4 1
A fromNameWhenClassAndFactorySpecified() 0 7 1
1
<?php
2
3
namespace TomPHP\ContainerConfigurator\Exception;
4
5
use LogicException;
6
use TomPHP\ExceptionConstructorTools;
7
8
final class InvalidConfigException extends LogicException implements Exception
9
{
10
    use ExceptionConstructorTools;
11
12
    /**
13
     * @param string $filename
14
     *
15
     * @return self
16
     */
17
    public static function fromPHPFileError($filename)
18
    {
19
        return self::create('"%s" does not return a PHP array.', [$filename]);
20
    }
21
22
    /**
23
     * @param string $filename
24
     * @param string $message
25
     *
26
     * @return self
27
     */
28
    public static function fromJSONFileError($filename, $message)
29
    {
30
        return self::create('Invalid JSON in "%s": %s', [$filename, $message]);
31
    }
32
33
    /**
34
     * @param string $filename
35
     * @param string $message
36
     *
37
     * @return self
38
     */
39
    public static function fromYAMLFileError($filename, $message)
40
    {
41
        return self::create('Invalid YAML in "%s": %s', [$filename, $message]);
42
    }
43
44
    /**
45
     * @param string $name
46
     *
47
     * @return self
48
     */
49
    public static function fromNameWhenClassAndFactorySpecified($name)
50
    {
51
        return self::create(
52
            'Both "class" and "factory" are specified for service "%s"; these cannot be used together.',
53
            [$name]
54
        );
55
    }
56
}
57