CreateMixFile   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 2
dl 0
loc 47
ccs 0
cts 19
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 7 1
A getStub() 0 13 1
1
<?php namespace Arcanedev\Assets\Pipes\Init;
2
3
use Arcanedev\Assets\Helpers\Stub;
4
use Closure;
5
6
/**
7
 * Class     CreateMixFile
8
 *
9
 * @package  Arcanedev\Assets\Pipes\Init
10
 * @author   ARCANEDEV <[email protected]>
11
 */
12
class CreateMixFile extends AbstractPipe
13
{
14
    /* -----------------------------------------------------------------
15
     |  Main Method
16
     | -----------------------------------------------------------------
17
     */
18
19
    /**
20
     * @param  array    $passable
21
     * @param  Closure  $next
22
     *
23
     * @return mixed
24
     */
25
    public function handle(array $passable, Closure $next)
26
    {
27
        $this->getStub($passable)
28
             ->save($passable['path'].'/webpack.mix.js');
29
30
        return $next($passable);
31
    }
32
33
    /* -----------------------------------------------------------------
34
     |  Other Methods
35
     | -----------------------------------------------------------------
36
     */
37
38
    /**
39
     * Get the stub file.
40
     *
41
     * @param  array  $passable
42
     *
43
     * @return \Arcanedev\Assets\Helpers\Stub
44
     */
45
    protected function getStub(array $passable)
46
    {
47
        return Stub::make('module/webpack.mix.stub')
48
            ->replace([
49
                '{{asset_directory}}',
50
                '{{public_directory}}',
51
                '{{name}}',
52
            ],[
53
                $passable['path'],
54
                $passable['public-directory'],
55
                'app',
56
            ]);
57
    }
58
}
59