SimpleScript::__invoke()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 20
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 20
rs 9.8333
c 0
b 0
f 0
cc 2
nc 2
nop 2
1
<?php
2
3
namespace HotRodCli\Processors\ScriptFile;
4
5
use HotRodCli\AppContainer;
6
use Symfony\Component\Console\Input\InputInterface;
7
use Symfony\Component\Console\Output\OutputInterface;
8
use HotRodCli\Jobs\Js\AddJs;
9
use HotRodCli\Jobs\Filesystem\CopyFile;
10
11
class SimpleScript
12
{
13
    protected $container;
14
15
    public function __construct(AppContainer $appContainer)
16
    {
17
        $this->container = $appContainer;
18
    }
19
20
    public function __invoke(InputInterface $input, OutputInterface $output)
21
    {
22
        $namespace = explode('_', $input->getArgument('namespace'));
23
        $app = $this->container;
24
        $scope = $input->getOption('admin') ? 'adminhtml' : 'frontend';
25
26
        $this->container->resolve(AddJs::class)->handle(
27
            $app->get('app_dir') . '/app/code/' . $namespace[0] . '/' . $namespace[1] . '/view/' . $scope . '/requirejs-config.js',
28
            $input->getArgument('script-name'),
29
            $input->getArgument('namespace') . '/js/' . $input->getArgument('script-name')
30
        );
31
32
        $this->container->resolve(CopyFile::class)->handle(
33
            $app->get('resource_dir') . '/frontend/simple-js.js',
34
            $app->get('app_dir') . '/app/code/' . $namespace[0] . '/'
35
            . $namespace[1] . '/view/' . $scope . '/web/js/' . $input->getArgument('script-name') . '.js'
36
        );
37
38
        $output->writeln('<info>' . '/app/code/' . $namespace[0] . '/'
39
            . $namespace[1] . '/view/' . $scope . '/web/js/' . $input->getArgument('script-name') . '.js successfully generated</info>');
40
    }
41
}
42