Completed
Push — master ( 67a667...a6dd06 )
by Freek
01:14
created

MediaCollection::withFallbackPath()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\MediaLibrary\MediaCollection;
4
5
class MediaCollection
6
{
7
    /** @var string */
8
    public $name = '';
9
10
    /** @var string */
11
    public $diskName = '';
12
13
    /** @var callable */
14
    public $mediaConversionRegistrations;
15
16
    /** @var callable */
17
    public $acceptsFile;
18
19
    /** @var bool */
20
    public $singleFile = false;
21
22
    /** @var string */
23
    public $fallbackPath = null;
24
25
    /** @var string */
26
    public $fallbackUrl = null;
27
28
    public function __construct(string $name)
29
    {
30
        $this->name = $name;
31
32
        $this->mediaConversionRegistrations = function () {
33
        };
34
35
        $this->acceptsFile = function () {
36
            return true;
37
        };
38
    }
39
40
    public static function create($name)
41
    {
42
        return new static($name);
43
    }
44
45
    public function useDisk(string $diskName): self
46
    {
47
        $this->diskName = $diskName;
48
49
        return $this;
50
    }
51
52
    public function acceptsFile(callable $acceptsFile): self
53
    {
54
        $this->acceptsFile = $acceptsFile;
55
56
        return $this;
57
    }
58
59
    public function singleFile(): self
60
    {
61
        $this->singleFile = true;
62
63
        return $this;
64
    }
65
66
    public function registerMediaConversions(callable $mediaConversionRegistrations)
67
    {
68
        $this->mediaConversionRegistrations = $mediaConversionRegistrations;
69
    }
70
71
    public function withFallbackPath(string $path): self
72
    {
73
        $this->fallbackPath = $path;
74
75
        return $this;
76
    }
77
78
    public function withFallbackUrl(string $url): self
79
    {
80
        $this->fallbackUrl = $url;
81
82
        return $this;
83
    }
84
}
85