StringReplace   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 1 Features 2
Metric Value
wmc 4
c 4
b 1
f 2
lcom 1
cbo 0
dl 0
loc 29
ccs 8
cts 8
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setSpecification() 0 5 1
A filter() 0 7 3
1
<?php
2
/**
3
 * This file is part of php-simple-request.
4
*
5
* php-simple-request is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU Lesser General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* (at your option) any later version.
9
*
10
* php-simple-request is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with php-simple-request.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
namespace Mcustiel\SimpleRequest\Filter;
19
20
use Mcustiel\SimpleRequest\Interfaces\FilterInterface;
21
22
class StringReplace implements FilterInterface
23
{
24
    protected $search;
25
    protected $replacement;
26
27
    /**
28
     * {@inheritDoc}
29
     *
30
     * @see \Mcustiel\SimpleRequest\Interfaces\Specificable::setSpecification()
31
     */
32 5
    public function setSpecification($specification = null)
33
    {
34 5
        $this->search = $specification['pattern'];
35 5
        $this->replacement = $specification['replacement'];
36 5
    }
37
38
    /**
39
     * {@inheritDoc}
40
     *
41
     * @see \Mcustiel\SimpleRequest\Interfaces\FilterInterface::filter()
42
     */
43 2
    public function filter($value)
44
    {
45 2
        if (!is_string($value) && !is_array($value)) {
46 1
            return $value;
47
        }
48 1
        return str_replace($this->search, $this->replacement, $value);
49
    }
50
}
51