Completed
Push — master ( 0585fd...6ce168 )
by Mickael
03:38
created

Configuration::getConfigTreeBuilder()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 82
Code Lines 76

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 82
ccs 0
cts 80
cp 0
rs 8.7769
c 0
b 0
f 0
cc 1
eloc 76
nc 1
nop 0
crap 2

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
/**
4
 * Gearman Bundle for Symfony2 / Symfony3
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 *
9
 * Feel free to edit as you please, and have fun.
10
 *
11
 * @author Marc Morera <[email protected]>
12
 */
13
14
namespace Mkk\GearmanBundle\DependencyInjection;
15
16
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
17
use Symfony\Component\Config\Definition\ConfigurationInterface;
18
19
/**
20
 * This is the class that validates and merges configuration from your
21
 * app/config files
22
 */
23
class Configuration implements ConfigurationInterface
24
{
25
    /**
26
     * Generates the configuration tree builder.
27
     *
28
     * @return TreeBuilder The tree builder
29
     */
30
    public function getConfigTreeBuilder()
31
    {
32
        $treeBuilder = new TreeBuilder();
33
        $rootNode = $treeBuilder->root('gearman');
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 4 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
34
35
        $rootNode
36
            ->children()
37
                ->arrayNode('bundles')
38
                    ->prototype('array')
39
                        ->children()
40
                            ->scalarNode('name')
41
                                ->isRequired()
42
                                ->cannotBeEmpty()
43
                            ->end()
44
                            ->booleanNode('active')
45
                                ->defaultFalse()
46
                            ->end()
47
                            ->arrayNode('include')
48
                                ->prototype('scalar')->end()
49
                            ->end()
50
                            ->arrayNode('ignore')
51
                                ->prototype('scalar')->end()
52
                            ->end()
53
                        ->end()
54
                    ->end()
55
                ->end()
56
                ->arrayNode('servers')
57
                    ->performNoDeepMerging()
58
                    ->defaultValue(array(
59
                        'localhost' =>  array(
60
                            'host'  =>  '127.0.0.1',
61
                            'port'  =>  '4730',
62
                        ),
63
                    ))
64
                    ->prototype('array')
65
                        ->children()
66
                            ->scalarNode('host')
67
                                ->isRequired()
68
                                ->cannotBeEmpty()
69
                            ->end()
70
                            ->integerNode('port')
71
                                ->defaultValue('4730')
72
                            ->end()
73
                        ->end()
74
                    ->end()
75
                ->end()
76
                ->arrayNode('defaults')
77
                    ->addDefaultsIfNotSet()
78
                    ->children()
79
                        ->integerNode('iterations')
80
                            ->min(0)
81
                            ->defaultValue(0)
82
                        ->end()
83
                        ->scalarNode('method')
84
                            ->defaultValue('doNormal')
85
                        ->end()
86
                        ->booleanNode('callbacks')
87
                            ->defaultTrue()
88
                        ->end()
89
                        ->scalarNode('job_prefix')
90
                            ->defaultNull()
91
                        ->end()
92
                        ->booleanNode('generate_unique_key')
93
                            ->defaultTrue()
94
                        ->end()
95
                        ->booleanNode('workers_name_prepend_namespace')
96
                            ->defaultTrue()
97
                        ->end()
98
                        ->integerNode('minimum_execution_time')
99
                            ->min(0)
100
                            ->defaultValue(0)
101
                        ->end()
102
                        ->integerNode('timeout')
103
                            ->min(0)
104
                            ->defaultValue(0)
105
                        ->end()
106
                    ->end()
107
                ->end()
108
            ->end();
109
110
        return $treeBuilder;
111
    }
112
}
0 ignored issues
show
Coding Style introduced by
As per coding style, files should not end with a newline character.

This check marks files that end in a newline character, i.e. an empy line.

Loading history...
113