Passed
Push — v1 ( 9b2918...ee0a5e )
by Andrew
11:36 queued 04:46
created

src/services/ServicesTrait.php (1 issue)

1
<?php
2
/**
3
 * Transcoder plugin for Craft CMS
4
 *
5
 * Transcode videos to various formats, and provide thumbnails of the video
6
 *
7
 * @link      https://nystudio107.com
8
 * @copyright Copyright (c) 2022 nystudio107
9
 */
10
11
namespace nystudio107\transcoder\services;
12
13
use craft\helpers\ArrayHelper;
14
use nystudio107\pluginvite\services\VitePluginService;
15
use nystudio107\transcoder\assetbundles\transcoder\TranscoderAsset;
16
use yii\base\InvalidConfigException;
17
18
/**
19
 * @author    nystudio107
20
 * @package   Transcode
21
 * @since     1.2.23
22
 *
23
 * @property Transcode $transcode
24
 * @property VitePluginService $vite
25
 */
26
trait ServicesTrait
27
{
28
    // Public Methods
29
    // =========================================================================
30
31
    /**
32
     * @inheritdoc
33
     */
34
    public function __construct($id, $parent = null, array $config = [])
35
    {
36
        // Merge in the passed config, so it our config can be overridden by Plugins::pluginConfigs['vite']
37
        // ref: https://github.com/craftcms/cms/issues/1989
38
        $config = ArrayHelper::merge([
39
            'components' => [
40
                'transcode' => Transcode::class,
41
                // Register the vite service
42
                'vite' => [
43
                    'class' => VitePluginService::class,
44
                    'assetClass' => TranscoderAsset::class,
45
                    'useDevServer' => true,
46
                    'devServerPublic' => 'http://localhost:3001',
47
                    'serverPublic' => 'http://localhost:8000',
48
                    'errorEntry' => 'src/js/app.ts',
49
                    'devServerInternal' => 'http://craft-transcoder-buildchain:3001',
50
                    'checkDevServer' => true,
51
                ],
52
            ]
53
        ], $config);
54
55
        parent::__construct($id, $parent, $config);
56
    }
57
58
    /**
59
     * Returns the transcode service
60
     *
61
     * @return Transcode The transcode service
62
     * @throws InvalidConfigException
63
     */
64
    public function getTranscode(): Transcode
65
    {
66
        return $this->get('transcode');
0 ignored issues
show
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

66
        return $this->/** @scrutinizer ignore-call */ get('transcode');
Loading history...
67
    }
68
69
    /**
70
     * Returns the vite service
71
     *
72
     * @return VitePluginService The vite service
73
     * @throws InvalidConfigException
74
     */
75
    public function getVite(): VitePluginService
76
    {
77
        return $this->get('vite');
78
    }
79
}
80