Completed
Push — master ( f88f6e...5d85cb )
by Pavel
03:14
created

StringifyNormalizer   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 18
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A normalize() 0 8 2
A supports() 0 4 2
1
<?php
2
3
namespace Bankiru\Seo\Destination\Normalizer;
4
5
use Bankiru\Seo\Destination\DestinationNormalizer;
6
use Bankiru\Seo\Exception\DestinationException;
7
8
final class StringifyNormalizer implements DestinationNormalizer
9
{
10
    /** {@inheritdoc} */
11 2
    public function normalize($item)
12
    {
13 2
        if (!$this->supports($item)) {
14 1
            throw DestinationException::normalizationFailed($item);
15
        }
16
17 1
        return (string)$item;
18
    }
19
20
    /** {@inheritdoc} */
21 2
    public function supports($item)
22
    {
23 2
        return is_object($item) && method_exists($item, '__toString');
24
    }
25
}
26