ConstraintViolations   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
eloc 14
dl 0
loc 35
ccs 0
cts 21
cp 0
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __toString() 0 14 2
A __construct() 0 4 1
A getViolations() 0 3 1
1
<?php
2
namespace ElevenLabs\Api\Validator\Exception;
3
4
use ElevenLabs\Api\Validator\ConstraintViolation;
5
6
class ConstraintViolations extends \Exception
7
{
8
    private $violations;
9
10
    /**
11
     * @param ConstraintViolation[] $violations
12
     */
13
    public function __construct(array $violations)
14
    {
15
        $this->violations = $violations;
16
        parent::__construct((string) $this);
17
    }
18
19
    public function getViolations()
20
    {
21
        return $this->violations;
22
    }
23
24
    /**
25
     * @return string
26
     */
27
    public function __toString()
28
    {
29
        $message = "Request constraint violations:\n";
30
        foreach ($this->violations as $violation) {
31
            $message .= sprintf(
32
                "[property]: %s\n[message]: %s\n[constraint]: %s\n[location]: %s\n\n",
33
                $violation->getProperty(),
34
                $violation->getMessage(),
35
                $violation->getConstraint(),
36
                $violation->getLocation()
37
            );
38
        }
39
40
        return $message;
41
    }
42
}
43