LikeNormalizer   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 3
c 1
b 0
f 0
dl 0
loc 16
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A process() 0 3 1
A supportsNormalization() 0 3 2
1
<?php declare(strict_types=1);
2
3
namespace Mgid\Component\Pagination\Normalizer\ORM;
4
5
use Mgid\Component\Pagination\Contract\FilterableInterface;
6
use Mgid\Component\Pagination\Normalizer\AbstractNormalizer;
7
8
final class LikeNormalizer extends AbstractNormalizer
9
{
10
    /**
11
     * {@inheritdoc}
12
     */
13
    protected function process($value, string $operator)
14
    {
15
        return '%' . $value . '%';
16
    }
17
18
    /**
19
     * {@inheritdoc}
20
     */
21
    protected function supportsNormalization($value, string $operator): bool
22
    {
23
        return \is_scalar($value) && $operator === FilterableInterface::LIKE;
24
    }
25
}
26