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

ErrorMessageFormatter::format()   A

Complexity

Conditions 6
Paths 6

Size

Total Lines 16
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 7.0487

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 6
eloc 12
c 1
b 0
f 0
nc 6
nop 1
dl 0
loc 16
ccs 9
cts 13
cp 0.6923
crap 7.0487
rs 9.2222
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