XmlFilterProvider::register()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 27
ccs 1
cts 1
cp 1
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 14
nc 1
nop 1
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Rs\XmlFilter\Container;
6
7
use Pimple\Container;
8
use Pimple\ServiceProviderInterface;
9
use Rs\XmlFilter\Filter\Manager\PimpleFilterManager;
10
use Rs\XmlFilter\Filter\Manager\ValidationFilterManager;
11
use Rs\XmlFilter\XmlFilter;
12
13
class XmlFilterProvider implements ServiceProviderInterface
14
{
15
    /**
16
     * {@inheritdoc}
17
     */
18
    public function register(Container $pimple)
19
    {
20
        $pimple['pimple_manager'] = function () {
21
            $manager = new PimpleFilterManager();
22
            $manager->register(new FilterServiceProvider());
23
24
            $manager['manager'] = $manager;
25
26
            return $manager;
27
        };
28
29
        $pimple['validation_manager'] = function ($pimple) {
30
            $manager = new ValidationFilterManager($pimple['pimple_manager']);
31
32
            $pimple['pimple_manager']['manager'] = $manager;
33
34
            return $manager;
35
        };
36
37
        $pimple['filter_manager'] = function ($pimple) {
38
            return $pimple['validation_manager'];
39
        };
40
41
        $pimple['xml_filter'] = function ($pimple) {
42
            return new XmlFilter($pimple['filter_manager']);
43
        };
44 1
    }
45
}
46