Passed
Push — develop-v4 ( 41334a...545c86 )
by Andrew
19:30 queued 14:59
created

ServicesTrait::getVite()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 1
c 1
b 0
f 1
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
/**
3
 * ImageOptimize plugin for Craft CMS 3.x
4
 *
5
 * Automatically optimize images after they've been transformed
6
 *
7
 * @link      https://nystudio107.com
0 ignored issues
show
Coding Style introduced by
The tag in position 1 should be the @copyright tag
Loading history...
8
 * @copyright Copyright (c) 2022 nystudio107
0 ignored issues
show
Coding Style introduced by
@copyright tag must contain a year and the name of the copyright holder
Loading history...
9
 */
0 ignored issues
show
Coding Style introduced by
PHP version not specified
Loading history...
Coding Style introduced by
Missing @category tag in file comment
Loading history...
Coding Style introduced by
Missing @package tag in file comment
Loading history...
Coding Style introduced by
Missing @author tag in file comment
Loading history...
Coding Style introduced by
Missing @license tag in file comment
Loading history...
10
11
namespace nystudio107\imageoptimize\services;
12
13
use nystudio107\imageoptimize\assetbundles\imageoptimize\ImageOptimizeAsset;
14
use nystudio107\imageoptimize\services\Optimize as OptimizeService;
15
use nystudio107\imageoptimize\services\OptimizedImages as OptimizedImagesService;
16
use nystudio107\imageoptimize\services\Placeholder as PlaceholderService;
17
use nystudio107\pluginvite\services\VitePluginService;
18
use yii\base\InvalidConfigException;
19
20
/**
0 ignored issues
show
Coding Style introduced by
Missing short description in doc comment
Loading history...
21
 * @author    nystudio107
0 ignored issues
show
Coding Style introduced by
The tag in position 1 should be the @package tag
Loading history...
Coding Style introduced by
Content of the @author tag must be in the form "Display Name <[email protected]>"
Loading history...
Coding Style introduced by
Tag value for @author tag indented incorrectly; expected 2 spaces but found 4
Loading history...
22
 * @package   ImageOptimize
0 ignored issues
show
Coding Style introduced by
Tag value for @package tag indented incorrectly; expected 1 spaces but found 3
Loading history...
23
 * @since     4.0.3
0 ignored issues
show
Coding Style introduced by
The tag in position 3 should be the @author tag
Loading history...
Coding Style introduced by
Tag value for @since tag indented incorrectly; expected 3 spaces but found 5
Loading history...
24
 *
25
 * @property OptimizeService $optimize
26
 * @property PlaceholderService $placeholder
27
 * @property OptimizedImagesService $optimizedImages
28
 * @property VitePluginService $vite
29
 */
0 ignored issues
show
Coding Style introduced by
Missing @category tag in class comment
Loading history...
Coding Style introduced by
Missing @license tag in class comment
Loading history...
Coding Style introduced by
Missing @link tag in class comment
Loading history...
30
trait ServicesTrait
31
{
32
    // Public Static Methods
33
    // =========================================================================
34
35
    /**
0 ignored issues
show
Coding Style introduced by
Missing short description in doc comment
Loading history...
36
     * @inheritdoc
37
     */
0 ignored issues
show
Coding Style introduced by
Missing @return tag in function comment
Loading history...
38
    public static function config(): array
39
    {
40
        return [
41
            'components' => [
42
                'optimize' => OptimizeService::class,
43
                'optimizedImages' => OptimizedImagesService::class,
44
                'placeholder' => PlaceholderService::class,
45
                // Register the vite service
46
                'vite' => [
47
                    'class' => VitePluginService::class,
48
                    'assetClass' => ImageOptimizeAsset::class,
49
                    'useDevServer' => true,
50
                    'devServerPublic' => 'http://localhost:3001',
51
                    'serverPublic' => 'http://localhost:8000',
52
                    'errorEntry' => 'src/js/ImageOptimize.js',
53
                    'devServerInternal' => 'http://craft-imageoptimize-buildchain:3001',
54
                    'checkDevServer' => true,
55
                ],
56
            ]
57
        ];
58
    }
59
60
    // Public Methods
61
    // =========================================================================
62
63
    /**
64
     * Returns the optimize service
65
     *
66
     * @return OptimizeService The optimize service
67
     * @throws InvalidConfigException
68
     */
69
    public function getOptimize(): OptimizeService
70
    {
71
        return $this->get('optimize');
0 ignored issues
show
Bug introduced by
It seems like get() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

71
        return $this->/** @scrutinizer ignore-call */ get('optimize');
Loading history...
72
    }
73
74
    /**
75
     * Returns the optimizedImages service
76
     *
77
     * @return OptimizedImagesService The optimizedImages service
78
     * @throws InvalidConfigException
79
     */
80
    public function getOptimizedImages(): OptimizedImagesService
81
    {
82
        return $this->get('optimizedImages');
83
    }
84
85
    /**
86
     * Returns the placeholder service
87
     *
88
     * @return PlaceholderService The placeholder service
89
     * @throws InvalidConfigException
90
     */
91
    public function getPlaceholder(): PlaceholderService
92
    {
93
        return $this->get('placeholder');
94
    }
95
96
    /**
97
     * Returns the vite service
98
     *
99
     * @return VitePluginService The vite service
100
     * @throws InvalidConfigException
101
     */
102
    public function getVite(): VitePluginService
103
    {
104
        return $this->get('vite');
105
    }
106
}
107