FileFactory   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 0
dl 0
loc 42
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A createFile() 0 5 1
A getFileClass() 0 4 1
A setFileClass() 0 4 1
1
<?php namespace Nord\Lumen\FileManager\Doctrine;
2
3
use Carbon\Carbon;
4
use Nord\Lumen\FileManager\Contracts\FileFactory as FileFactoryContract;
5
6
class FileFactory implements FileFactoryContract
7
{
8
9
    /**
10
     * @var string Full namespace of class to use when creating files
11
     */
12
    protected $fileClass;
13
14
    /**
15
     * FileFactory constructor
16
     * @param string $fileClass
17
     */
18
    public function __construct($fileClass)
19
    {
20
        $this->setFileClass($fileClass);
21
    }
22
23
    /**
24
     * @inheritdoc
25
     */
26
    public function createFile($id, $name, $extension, $path, $mimeType, $byteSize, $data, $disk, Carbon $savedAt)
27
    {
28
        $class = $this->getFileClass();
29
        return new $class($id, $name, $extension, $path, $mimeType, $byteSize, $data, $disk, $savedAt);
30
    }
31
32
    /**
33
     * @return string
34
     */
35
    protected function getFileClass()
36
    {
37
        return $this->fileClass;
38
    }
39
40
    /**
41
     * @param string $fileClass
42
     */
43
    protected function setFileClass($fileClass)
44
    {
45
        $this->fileClass = $fileClass;
46
    }
47
}
48