ActionPost::generate()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 18
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3.7898

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 18
ccs 5
cts 9
cp 0.5556
rs 9.4285
cc 3
eloc 8
nc 3
nop 1
crap 3.7898
1
<?php
2
namespace App\Actions\Image;
3
4
use League\Flysystem\FilesystemInterface;
5
use Staticus\Middlewares\ActionPostAbstract;
6
use Staticus\Resources\ResourceDOInterface;
7
use Staticus\Resources\Image\ResourceImageDOInterface;
8
use FractalManager\Manager as FractalManager;
9
10
class ActionPost extends ActionPostAbstract
11
{
12 4
    public function __construct(
13
        ResourceImageDOInterface $resourceDO
14
        , FilesystemInterface $filesystem
15
        , FractalManager $fractal
16
    )
17
    {
18 4
        parent::__construct($resourceDO, $filesystem, $fractal);
19 4
    }
20
21
    /**
22
     * @param ResourceDOInterface|ResourceImageDOInterface $resourceDO
23
     * @return mixed
24
     */
25 2
    protected function generate(ResourceDOInterface $resourceDO)
26
    {
27
        // Do not generate image when resizing or cropping is requested
28 2
        if ($this->resourceDO->getDimension()) {
29
30
            // If recreation for current size is asked, just remove previous file
31
            // Without this next middlewares will try to resize exist file
32
            if ($this->resourceDO->isRecreate()) {
33
                $this->filesystem->delete($this->resourceDO->getFilePath());
34
            }
35
36
            return null;
37
        }
38 2
        $query = $resourceDO->getName() . ' ' . $resourceDO->getNameAlternative();
39 2
        $content = $this->generator->generate($query);
40
41 2
        return $content;
42
    }
43
}