XmlFilterProvider   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 4
dl 0
loc 33
ccs 1
cts 1
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 27 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