Passed
Branch ci_setup (6efa95)
by Mattia
12:10 queued 13s
created

Configuration   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 29
dl 0
loc 38
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 31 1
1
<?php
2
3
namespace Cypress\PatchManager\Bundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
6
use Symfony\Component\Config\Definition\ConfigurationInterface;
7
8
class Configuration implements ConfigurationInterface
9
{
10
    /**
11
     * Generates the configuration tree builder.
12
     *
13
     * @return TreeBuilder The tree builder
14
     */
15
    public function getConfigTreeBuilder(): TreeBuilder
16
    {
17
        $treeBuilder = new TreeBuilder('patch_manager');
18
        $treeBuilder->getRootNode()
19
            ->children()
20
                ->arrayNode('handlers')
21
                    ->addDefaultsIfNotSet()
22
                    ->children()
23
                        ->arrayNode('data')
24
                            ->addDefaultsIfNotSet()
25
                            ->children()
26
                                ->scalarNode('entity_manager')->defaultValue('default')->end()
27
                                ->scalarNode('doctrine')->defaultTrue()->end()
28
                                ->scalarNode('magic_call')->defaultFalse()->end()
29
                            ->end()
30
                        ->end()
31
                        ->scalarNode('state_machine')->end()
32
                    ->end()
33
                ->end()
34
                ->scalarNode('dispatch_events')->defaultTrue()->end()
35
                ->scalarNode('strict_mode')->defaultFalse()->end()
36
                ->scalarNode('alias')
37
                    ->defaultNull()
38
                    ->validate()
39
                        ->ifTrue(fn ($value) => 0 === preg_match('#^[a-zA-Z0-9_]+$#', $value))
40
                        ->thenInvalid('Alias should be a string containing letters and underscore. "%s" given')
41
                    ->end()
42
                ->end()
43
            ->end();
44
45
        return $treeBuilder;
46
    }
47
}
48