Passed
Pull Request — master (#99)
by Def
03:38 queued 01:20
created

ErrorMessageFormatter   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Test Coverage

Coverage 69.23%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 13
c 1
b 0
f 0
dl 0
loc 18
ccs 9
cts 13
cp 0.6923
rs 10
wmc 6

1 Method

Rating   Name   Duplication   Size   Complexity  
A format() 0 16 6
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Validator;
6
7
final class ErrorMessageFormatter implements ErrorMessageFormatterInterface
8
{
9 68
    public function format(ErrorMessage $errorMessage): string
10
    {
11 68
        $replacements = [];
12 68
        foreach ($errorMessage->getParameters() as $key => $value) {
13 38
            if ($value instanceof ErrorMessage) {
14
                $value = $this->format($value);
15 38
            } elseif (is_array($value)) {
16
                $value = 'array';
17 38
            } elseif (is_object($value)) {
18
                $value = 'object';
19 38
            } elseif (is_resource($value)) {
20
                $value = 'resource';
21
            }
22 38
            $replacements['{' . $key . '}'] = $value;
23
        }
24 68
        return strtr($errorMessage->getMessage(), $replacements);
25
    }
26
}
27