ImageOptimiser   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 11
c 1
b 0
f 0
dl 0
loc 41
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A setImageOptimiserService() 0 5 1
A getImageOptimiserService() 0 3 1
A filter() 0 9 2
1
<?php
2
3
namespace Rvdlee\ZfImageOptimiser\Filter;
4
5
use Exception;
6
use Rvdlee\ZfImageOptimiser\Service\ImageOptimiserService;
7
use Zend\Filter\AbstractFilter;
8
9
class ImageOptimiser extends AbstractFilter
10
{
11
    /**
12
     * @var ImageOptimiserService
13
     */
14
    protected $imageOptimiserService;
15
16
    public function __construct(ImageOptimiserService $imageOptimiserService)
17
    {
18
        $this->setImageOptimiserService($imageOptimiserService);
19
    }
20
21
    public function filter($value)
22
    {
23
        try {
24
            $this->getImageOptimiserService()->optimize($value['tmp_name']);
25
        } catch (Exception $exception) {
26
            throw $exception;
27
        }
28
29
        return $value;
30
    }
31
32
    /**
33
     * @return ImageOptimiserService
34
     */
35
    public function getImageOptimiserService() : ImageOptimiserService
36
    {
37
        return $this->imageOptimiserService;
38
    }
39
40
    /**
41
     * @param ImageOptimiserService $imageOptimiserService
42
     *
43
     * @return ImageOptimiser
44
     */
45
    public function setImageOptimiserService(ImageOptimiserService $imageOptimiserService) : ImageOptimiser
46
    {
47
        $this->imageOptimiserService = $imageOptimiserService;
48
49
        return $this;
50
    }
51
}