src/SanityBundle/DependencyInjection/Configuration.php
<?php
/*
* This file is part of the Veslo project <https://github.com/symfony-doge/veslo>.
*
* (C) 2019 Pavel Petrov <itnelo@gmail.com>.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @license https://opensource.org/licenses/GPL-3.0 GPL-3.0
*/
declare(strict_types=1);
namespace Veslo\SanityBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
/**
* SanityBundle configuration.
*/
class Configuration implements ConfigurationInterface
{
/**
* {@inheritdoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('veslo_sanity');
$rootNode
->children()
->arrayNode('vacancy')
->children()
->arrayNode('analyser')
->children()
->scalarNode('default_locale')
->info('Locale which will be used as a default sanity data translation locale')
->isRequired()
->cannotBeEmpty()
->end()
->arrayNode('locales')
->info('All locales which are supported for sanity data translations')
->example(['ru', 'ua', 'en'])
->requiresAtLeastOneElement()
->scalarPrototype()
->end()
->end()
->end()
->end()
->end()
->end()
->end()
;
return $treeBuilder;
}
}