Security update for permissions_by_term
[yaffs-website] / vendor / behat / behat / src / Behat / Behat / Translator / ServiceContainer / GherkinTranslationsExtension.php
1 <?php
2
3 /*
4  * This file is part of the Behat.
5  * (c) Konstantin Kudryashov <ever.zet@gmail.com>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 namespace Behat\Behat\Translator\ServiceContainer;
12
13 use Behat\Testwork\Cli\ServiceContainer\CliExtension;
14 use Behat\Testwork\ServiceContainer\Extension;
15 use Behat\Testwork\ServiceContainer\ExtensionManager;
16 use Behat\Testwork\Translator\ServiceContainer\TranslatorExtension;
17 use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
18 use Symfony\Component\DependencyInjection\ContainerBuilder;
19 use Symfony\Component\DependencyInjection\Definition;
20 use Symfony\Component\DependencyInjection\Reference;
21
22 /**
23  * Extends translator service with knowledge about gherkin translations.
24  *
25  * @author Konstantin Kudryashov <ever.zet@gmail.com>
26  */
27 final class GherkinTranslationsExtension implements Extension
28 {
29     /**
30      * {@inheritdoc}
31      */
32     public function getConfigKey()
33     {
34         return 'gherkin_translations';
35     }
36
37     /**
38      * {@inheritdoc}
39      */
40     public function initialize(ExtensionManager $extensionManager)
41     {
42     }
43
44     /**
45      * {@inheritdoc}
46      */
47     public function configure(ArrayNodeDefinition $builder)
48     {
49     }
50
51     /**
52      * {@inheritdoc}
53      */
54     public function load(ContainerBuilder $container, array $config)
55     {
56         $this->loadController($container);
57     }
58
59     /**
60      * {@inheritdoc}
61      */
62     public function process(ContainerBuilder $container)
63     {
64     }
65
66     /**
67      * Loads translator controller.
68      *
69      * @param ContainerBuilder $container
70      */
71     private function loadController(ContainerBuilder $container)
72     {
73         $definition = new Definition('Behat\Behat\Translator\Cli\GherkinTranslationsController', array(
74             new Reference(TranslatorExtension::TRANSLATOR_ID)
75         ));
76         $definition->addTag(CliExtension::CONTROLLER_TAG, array('priority' => 9999));
77         $container->setDefinition(CliExtension::CONTROLLER_TAG . '.gherkin_translations', $definition);
78     }
79 }