HasMediaConversionsTrait::addMediaConversion()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 6
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace ByTIC\MediaLibrary\HasMedia\Traits;
4
5
use ByTIC\MediaLibrary\Conversions\Conversion;
6
use ByTIC\MediaLibrary\Conversions\ConversionCollection;
7
8
/**
9
 * Trait HasMediaConversionsTrait.
10
 */
11
trait HasMediaConversionsTrait
12
{
13
    public $mediaConversions = null;
14
15
    /**
16
     * Add a conversion.
17
     *
18
     * @param string $name
19
     *
20
     * @return Conversion
21
     */
22 5
    public function addMediaConversion(string $name): Conversion
23
    {
24 5
        $conversion = Conversion::create($name);
25 5
        $this->mediaConversions[$name] = $conversion;
26
27 5
        return $conversion;
28
    }
29
30
    /**
31
     * @return ConversionCollection
32
     */
33 7
    public function getMediaConversions(): ConversionCollection
34
    {
35 7
        if ($this->mediaConversions === null) {
36 7
            $this->initMediaConversions();
37
        }
38
39 7
        return $this->mediaConversions;
40
    }
41
42
    /**
43
     * @return bool
44
     */
45 1
    public function hasMediaConversions()
46
    {
47 1
        return $this->getMediaConversions()->isNotEmpty();
48
    }
49
50 7
    protected function initMediaConversions()
51
    {
52 7
        $this->mediaConversions = new ConversionCollection();
53
54 7
        if (method_exists($this, 'registerMediaConversions')) {
55 3
            $this->registerMediaConversions();
56
        }
57 7
    }
58
}
59