HasTemplate::setTemplate()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
c 0
b 0
f 0
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 1
rs 10
1
<?php
2
3
namespace LPDFBuilder\Generation;
4
5
use Illuminate\Support\Facades\Storage;
6
7
trait HasTemplate
8
{
9
    protected ?string $sourceTemplateDisk = null;
10
    protected ?string $sourceTemplateName = null;
11
12
    /**
13
     * Specify template to use.
14
     *
15
     * @param string|null $sourceTemplateName
16
     * @return $this
17
     */
18 1
    public function setTemplate(?string $sourceTemplateName = null): static
19
    {
20 1
        $this->sourceTemplateName = $sourceTemplateName;
21
22 1
        return $this;
23
    }
24
25
    /**
26
     * Specify template disk to use.
27
     *
28
     * @param string|null $sourceTemplateDisk
29
     * @return $this
30
     */
31 1
    public function setTemplateDisk(?string $sourceTemplateDisk = null): static
32
    {
33 1
        $this->sourceTemplateDisk = $sourceTemplateDisk;
34
35 1
        return $this;
36
    }
37
38
    /**
39
     * Get template storage disk.
40
     *
41
     * @return string|null
42
     */
43
    protected function sourceTemplateDisk(): ?string
44
    {
45
        return $this->sourceTemplateDisk?:config('pdf-builder.templates-storage');
46
    }
47
48
    /**
49
     * Get path to file template.
50
     *
51
     * @return string|null
52
     */
53 6
    protected function sourceFileTemplatePath(): ?string
54
    {
55 6
        return $this->sourceTemplateName?Storage::disk($this->sourceTemplateDisk)->path($this->sourceTemplateName):null;
56
    }
57
}
58