Completed
Push — 1.x ( 257780...f31d1d )
by Mikaël
42:33 queued 33:38
created

BooleanRule   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A applyRule() 0 10 1
1
<?php
2
3
namespace WsdlToPhp\PackageGenerator\File\Validation;
4
5
class BooleanRule extends AbstractRule
6
{
7
    /**
8
     * @see \WsdlToPhp\PackageGenerator\File\Validation\AbstractValidation::addRule()
9
     * @param string $parameterName
10
     * @param mixed $value
11
     * @param bool $itemType
12
     * @return BooleanRule
13
     */
14
    public function applyRule($parameterName, $value, $itemType = false)
15
    {
16
        $this
17
            ->getMethod()
18
                ->addChild('// validation for constraint: boolean')
19
                ->addChild(sprintf('if (!is_null($%1$s) && !is_bool($%1$s)) {', $parameterName))
20
                    ->addChild($this->getMethod()->getIndentedString(sprintf('throw new \InvalidArgumentException(sprintf(\'Invalid value, please provide a bool, "%%s" given\', gettype($%s)), __LINE__);', $parameterName), 1))
21
                ->addChild('}');
22
        return $this;
23
    }
24
}
25