Completed
Push — master ( 4678f6...949966 )
by Andrii
07:29
created

AssetPackageController   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 5
Bugs 1 Features 0
Metric Value
wmc 10
c 5
b 1
f 0
lcom 0
cbo 4
dl 0
loc 43
ccs 0
cts 36
cp 0
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A actionUpdate() 0 6 1
A actionUpdateList() 0 12 4
A actionUpdateAll() 0 4 1
A actionList() 0 8 2
A actionTest() 0 6 2
1
<?php
2
3
/*
4
 * Asset Packagist
5
 *
6
 * @link      https://github.com/hiqdev/asset-packagist
7
 * @package   asset-packagist
8
 * @license   BSD-3-Clause
9
 * @copyright Copyright (c) 2016, HiQDev (http://hiqdev.com/)
10
 */
11
12
namespace hiqdev\assetpackagist\console;
13
14
use hiqdev\assetpackagist\models\AssetPackage;
15
use hiqdev\assetpackagist\models\Storage;
16
use Yii;
17
18
class AssetPackageController extends \yii\console\Controller
19
{
20
    public function actionUpdate($type, $name)
21
    {
22
        $package = new AssetPackage($type, $name);
23
        $package->update();
24
        echo 'updated ' . $package->getHash() . ' ' . $package->getFullName() . "\n";
25
    }
26
27
    public function actionUpdateList($file = STDIN)
28
    {
29
        $handler = is_resource($file) ? $file : fopen($file, 'r');
30
        while ($line = fgets($handler)) {
31
            list($full) = preg_split('/\s+/', trim($line));
32
            list($type, $name) = AssetPackage::splitFullName($full);
33
            $this->actionUpdate($type, $name);
34
        }
35
        if (!is_resource($file)) {
36
            fclose($handler);
37
        }
38
    }
39
40
    public function actionUpdateAll()
41
    {
42
        $this->actionUpdateList(Yii::getAlias('@hiqdev/assetpackagist/config/packages.list'));
43
    }
44
45
    public function actionList()
46
    {
47
        $packages = Storage::getInstance()->listPackages();
48
        ksort($packages);
49
        foreach ($packages as $name => $data) {
50
            echo "$name\n";
51
        }
52
    }
53
54
    public function actionTest()
55
    {
56
        $dir = Yii::getAlias('@storage');
57
        $msg = file_exists($dir) ? 'exists' : 'DOES NOT EXIST';
58
        echo  "$dir - $msg\n";
59
    }
60
}
61