Completed
Push — master ( f0d93b...12af13 )
by Emmanuel
04:54
created

ConfigExampleCommand::configure()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.4285
c 0
b 0
f 0
ccs 8
cts 8
cp 1
cc 1
eloc 7
nc 1
nop 0
crap 1
1
<?php
2
/**
3
 * neuralyzer : Data Anonymization Library and CLI Tool
4
 *
5
 * PHP Version 7.1
6
 *
7
 * @author Emmanuel Dyan
8
 * @author Rémi Sauvat
9
 * @copyright 2018 Emmanuel Dyan
10
 *
11
 * @package edyan/neuralyzer
12
 *
13
 * @license GNU General Public License v2.0
14
 *
15
 * @link https://github.com/edyan/neuralyzer
16
 */
17
18
namespace Edyan\Neuralyzer\Console\Commands;
19
20
use Symfony\Component\Console\Command\Command;
21
use Symfony\Component\Console\Input\InputInterface;
22
use Symfony\Component\Console\Input\InputOption;
23
use Symfony\Component\Console\Output\OutputInterface;
24
25
/**
26
 * Command to generate an example config file
27
 */
28
class ConfigExampleCommand extends Command
29
{
30
    /**
31
     * Set the command shortcut to be used in configuration
32
     *
33
     * @var string
34
     */
35
    protected $command = 'config:example';
36
37
38
    /**
39
     * Configure the command
40
     *
41
     * @return void
42
     */
43 13
    protected function configure()
44
    {
45
        // First command : Test the DB Connexion
46 13
        $this->setName($this->command)
47 13
            ->setDescription(
48 13
                'Generate an example configuration for the Anonymizer'
49 13
            )->setHelp(
50 13
                'This command will take all default values from the config validation' . PHP_EOL .
51 13
                "Usage: neuralyzer <info>{$this->command}</info>"
52
            );
53 13
    }
54
55
    /**
56
     * Execute the command
57
     *
58
     * @param InputInterface  $input
59
     * @param OutputInterface $output
60
     *
61
     * @return void
62
     */
63
    protected function execute(InputInterface $input, OutputInterface $output)
64
    {
65
        $dumper = new \Symfony\Component\Config\Definition\Dumper\YamlReferenceDumper;
66
        $config = $dumper->dump(
67
            new \Edyan\Neuralyzer\Configuration\ConfigDefinition([])
0 ignored issues
show
Unused Code introduced by
The call to ConfigDefinition::__construct() has too many arguments starting with array().

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress.

In this case you can add the @ignore PhpDoc annotation to the duplicate definition and it will be ignored.

Loading history...
68
        );
69
70
        $output->writeLn($config);
71
    }
72
}
73