Passed
Pull Request — master (#99)
by Def
01:58
created

ErrorMessageFormatter::format()   A

Complexity

Conditions 6
Paths 6

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 6.4425

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 6
eloc 12
nc 6
nop 1
dl 0
loc 16
ccs 10
cts 13
cp 0.7692
crap 6.4425
rs 9.2222
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Validator;
6
7
final class ErrorMessageFormatter implements ErrorMessageFormatterInterface
8
{
9 82
    public function format(ErrorMessage $errorMessage): string
10
    {
11 82
        $replacements = [];
12 82
        foreach ($errorMessage->getParameters() as $key => $value) {
13 45
            if ($value instanceof ErrorMessage) {
14 1
                $value = $this->format($value);
15 45
            } elseif (is_array($value)) {
16
                $value = 'array';
17 45
            } elseif (is_object($value)) {
18
                $value = 'object';
19 45
            } elseif (is_resource($value)) {
20
                $value = 'resource';
21
            }
22 45
            $replacements['{' . $key . '}'] = $value;
23
        }
24 82
        return strtr($errorMessage->getMessage(), $replacements);
25
    }
26
}
27