Completed
Push — master ( a6cbd3...bd29f6 )
by Jonathan
13:35 queued 12:09
created

Flip::run()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 12
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 4.944

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 12
ccs 4
cts 10
cp 0.4
rs 9.4285
cc 3
eloc 6
nc 3
nop 1
crap 4.944
1
<?php
2
3
namespace League\Glide\Manipulators;
4
5
use Intervention\Image\Image;
6
7
/**
8
 * @property string $flip
9
 */
10
class Flip extends BaseManipulator
11
{
12
    /**
13
     * Perform flip image manipulation.
14
     * @param  Image $image The source image.
15
     * @return Image The manipulated image.
16
     */
17 1
    public function run(Image $image)
18
    {
19 1
        if ($flip = $this->getFlip()) {
20 1
            if ($flip === 'both') {
21
                return $image->flip('h')->flip('v');
22
            }
23
24 1
            return $image->flip($flip);
25
        }
26
27
        return $image;
28
    }
29
30
    /**
31
     * Resolve flip.
32
     * @return string The resolved flip.
33
     */
34 2
    public function getFlip()
35
    {
36 2
        if (in_array($this->flip, ['h', 'v', 'both'], true)) {
37 2
            return $this->flip;
38
        }
39
    }
40
}
41