Completed
Pull Request — master (#153)
by ignace nyamagana
02:22
created

dueToMalformedVariableSpecification()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 4
c 0
b 0
f 0
nc 2
nop 2
dl 0
loc 8
ccs 5
cts 5
cp 1
crap 2
rs 10
1
<?php
2
3
/**
4
 * League.Uri (https://uri.thephpleague.com)
5
 *
6
 * (c) Ignace Nyamagana Butera <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace League\Uri\Exceptions;
15
16
use League\Uri\Contracts\UriTemplateException;
17
18
class TemplateCanNotBeExpanded extends \InvalidArgumentException implements UriTemplateException
19
{
20 6
    public static function dueToMalformedExpression(string $template): self
21
    {
22 6
        return new self('The submitted template "'.$template.'" contains invalid expressions.');
23
    }
24
25 48
    public static function dueToMalformedVariableSpecification(string $varSpec, string $expression): self
26
    {
27 48
        $message = 'The variable specification "'.$varSpec.'" included in the expression "{'.$expression.'}" is invalid.';
28 48
        if ('' === $varSpec) {
29 2
            $message = 'No variable specification was included in the expression "{'.$expression.'}".';
30
        }
31
32 48
        return new self($message);
33
    }
34
35 6
    public static function dueToUsingReservedOperator(string $expression): self
36
    {
37 6
        return new self('The operator used in the expression "{'.$expression.'}" is reserved.');
38
    }
39
40 4
    public static function dueToUnableToProcessValueListWithPrefix(string $variableName): self
41
    {
42 4
        return new self('The ":" modifier can not be applied on "'.$variableName.'" since it is a list of values.');
43
    }
44
45 2
    public static function dueToNestedListOfValue(string $variableName): self
46
    {
47 2
        return new self('The "'.$variableName.'" can not be a nested list.');
48
    }
49
}
50