Completed
Push — master ( 5f6191...cd27f7 )
by Changwan
02:35
created

SanitizerFactory::__construct()   A

Complexity

Conditions 3
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3

Importance

Changes 0
Metric Value
cc 3
eloc 4
nc 1
nop 2
dl 0
loc 7
ccs 5
cts 5
cp 1
crap 3
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace Wandu\Sanitizer;
3
4
use Wandu\Sanitizer\Contracts\Rule;
5
use Wandu\Validator\TesterLoader;
6
use Wandu\Validator\ValidatorFactory;
7
8
class SanitizerFactory
9
{
10
    /** @var \Wandu\Validator\ValidatorFactory */
11
    protected $factory;
12
    
13 2
    public function __construct(TesterLoader $loader = null, SanitizerNormalizer $normalizer = null)
14
    {
15 2
        $this->factory = new ValidatorFactory(
16 2
            $loader ?: new TesterLoader(),
17 2
            $normalizer ?: new SanitizerNormalizer()
18
        );
19 2
    }
20
21
    /**
22
     * @param \Wandu\Sanitizer\Contracts\Rule $rule
23
     * @return \Wandu\Sanitizer\Sanitizer
24
     */
25 2
    public function factory(Rule $rule)
26
    {
27 2
        return new Sanitizer($rule, $this->factory->factory($rule->rule()));
28
    }
29
}
30