ArticlesListParametersConverter::convertBoolean()   B
last analyzed

Complexity

Conditions 6
Paths 5

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 8.8571
c 0
b 0
f 0
cc 6
eloc 6
nc 5
nop 1
1
<?php
2
3
namespace Stp\SndApi\News\Converter;
4
5
use Stp\SndApi\Common\ConverterInterface;
6
7
class ArticlesListParametersConverter implements ConverterInterface
8
{
9
    private $keysToConvertFromTypes = [
10
        'includeSubsections' => 'boolean',
11
        'homeSectionOnly' => 'boolean',
12
    ];
13
14
    /**
15
     * {@inheritdoc}
16
     */
17
    public function convert(array $parameters)
18
    {
19
        foreach ($parameters as $parameter => $value) {
20
            if (isset($this->keysToConvertFromTypes[$parameter])) {
21
                $conversionMethod = sprintf('convert%s', ucfirst($this->keysToConvertFromTypes[$parameter]));
22
23
                $parameters[$parameter] = $this->$conversionMethod($value);
24
            }
25
        }
26
27
        return $parameters;
28
    }
29
30
    /**
31
     * @param mixed $parameterValue
32
     *
33
     * @return string
34
     */
35
    protected function convertBoolean($parameterValue)
36
    {
37
        if (is_string($parameterValue)) {
38
            return $parameterValue;
39
        }
40
41
        if (is_int($parameterValue) || is_float($parameterValue)) {
42
            return 0 === $parameterValue ? 'false' : 'true';
43
        }
44
45
        return $parameterValue ? 'true' : 'false';
46
    }
47
}
48