AdminBaseController   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 3
Metric Value
wmc 5
lcom 2
cbo 3
dl 0
loc 43
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 1
A addAssets() 0 10 3
A requireDefaultAssets() 0 5 1
1
<?php namespace Modules\Core\Http\Controllers\Admin;
2
3
use FloatingPoint\Stylist\Facades\ThemeFacade as Theme;
4
use Illuminate\Routing\Controller;
5
use Modules\Core\Foundation\Asset\Manager\AssetManager;
6
use Modules\Core\Foundation\Asset\Pipeline\AssetPipeline;
7
use Pingpong\Modules\Facades\Module;
8
9
class AdminBaseController extends Controller
10
{
11
    /**
12
     * @var AssetManager
13
     */
14
    protected $assetManager;
15
    /**
16
     * @var AssetPipeline
17
     */
18
    protected $assetPipeline;
19
20
    public function __construct()
21
    {
22
        $this->assetManager = app('Modules\Core\Foundation\Asset\Manager\AssetManager');
23
        $this->assetPipeline = app('Modules\Core\Foundation\Asset\Pipeline\AssetPipeline');
24
25
        $this->addAssets();
26
        $this->requireDefaultAssets();
27
    }
28
29
    /**
30
     * Add the assets from the config file on the asset manager
31
     */
32
    private function addAssets()
33
    {
34
        foreach (config('asgard.core.core.admin-assets') as $assetName => $path) {
35
            if (key($path) == 'theme') {
36
                $this->assetManager->addAsset($assetName, Theme::url($path['theme']));
37
            } else {
38
                $this->assetManager->addAsset($assetName, Module::asset($path['module']));
39
            }
40
        }
41
    }
42
43
    /**
44
     * Require the default assets from config file on the asset pipeline
45
     */
46
    private function requireDefaultAssets()
47
    {
48
        $this->assetPipeline->requireCss(config('asgard.core.core.admin-required-assets.css'));
49
        $this->assetPipeline->requireJs(config('asgard.core.core.admin-required-assets.js'));
50
    }
51
}
52