Browscap\Command\DiffCommand::execute PHP Method

execute() protected method

This method is not abstract because you can use this class as a concrete class. In this case, instead of defining the execute() method, you set the code to execute by passing a Closure to the setCode() method.
See also: setCode()
protected execute ( Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output ) : null | integer
$input Symfony\Component\Console\Input\InputInterface An InputInterface instance
$output Symfony\Component\Console\Output\OutputInterface An OutputInterface instance
return null | integer null or 0 if everything went fine, or an error code
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $leftFilename = $input->getArgument('left');
        $rightFilename = $input->getArgument('right');
        $debug = $input->getOption('debug');
        $loggerHelper = new LoggerHelper();
        $logger = $loggerHelper->create($debug);
        if (!$rightFilename || !file_exists($rightFilename)) {
            $logger->info('right file not set or invalid - creating right file from resources');
            $cacheDir = sys_get_temp_dir() . '/browscap-diff/' . microtime(true) . '/';
            $rightFilename = $cacheDir . 'full_php_browscap.ini';
            if (!file_exists($cacheDir)) {
                mkdir($cacheDir, 0777, true);
            }
            $buildGenerator = new BuildGenerator($input->getOption('resources'), $cacheDir);
            $writerCollectionFactory = new FullPhpWriterFactory();
            $writerCollection = $writerCollectionFactory->createCollection($logger, $cacheDir);
            $buildGenerator->setLogger($logger)->setCollectionCreator(new CollectionCreator())->setWriterCollection($writerCollection);
            $buildGenerator->run($input->getArgument('version'), false);
        }
        $generator = new DiffGenerator();
        $generator->setLogger($logger)->run($leftFilename, $rightFilename);
        $logger->info('Diff done.');
    }