Completed
Push — master ( 291fe2...0592a3 )
by Peter
04:48
created

Configuration   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 1
c 3
b 0
f 0
lcom 0
cbo 3
dl 0
loc 37
ccs 20
cts 20
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getConfigTreeBuilder() 0 22 1
1
<?php
2
/**
3
 * GpsLab component.
4
 *
5
 * @author    Peter Gribanov <[email protected]>
6
 * @copyright Copyright (c) 2017, Peter Gribanov
7
 * @license   http://opensource.org/licenses/MIT
8
 */
9
10
namespace GpsLab\Bundle\GeoIP2Bundle\DependencyInjection;
11
12
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
13
use Symfony\Component\Config\Definition\ConfigurationInterface;
14
15
class Configuration implements ConfigurationInterface
16
{
17
    /**
18
     * Config tree builder.
19
     *
20
     * Example config:
21
     *
22
     * gpslab_geoip:
23
     *     cache: '%kernel.cache_dir%/GeoLite2-City.mmdb'
24
     *     url: 'http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz'
25
     *     locales: [ '%locale%' ]
26
     *
27
     * @return TreeBuilder
28
     */
29 1
    public function getConfigTreeBuilder()
30
    {
31 1
        return (new TreeBuilder())
32 1
            ->root('gpslab_geoip')
33 1
                ->children()
34 1
                    ->scalarNode('cache')
35 1
                        ->cannotBeEmpty()
36 1
                        ->defaultValue('%kernel.cache_dir%/GeoLite2-City.mmdb')
37 1
                    ->end()
38 1
                    ->scalarNode('url')
39 1
                        ->cannotBeEmpty()
40 1
                        ->defaultValue('http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz')
41 1
                    ->end()
42 1
                    ->arrayNode('locales')
43 1
                        ->treatNullLike([])
44 1
                        ->prototype('scalar')->end()
45 1
                        ->defaultValue(['%locale%'])
46 1
                    ->end()
47 1
                ->end()
48 1
            ->end()
49 1
        ;
50
    }
51
}
52