OptionsTrait::setOptions()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 0
cts 8
cp 0
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 5
nc 2
nop 1
crap 6
1
<?php
2
3
/**
4
 * @author    Flipbox Factory
5
 * @copyright Copyright (c) 2017, Flipbox Digital
6
 * @link      https://github.com/flipbox/queue/releases/latest
7
 * @license   https://github.com/flipbox/queue/blob/master/LICENSE
8
 */
9
10
namespace flipbox\queue\jobs\traits;
11
12
use flipbox\queue\options\Options;
13
use flipbox\queue\options\OptionsInterface;
14
15
/**
16
 * @author Flipbox Factory <[email protected]>
17
 * @since 1.0.0
18
 */
19
trait OptionsTrait
20
{
21
    /**
22
     * @var OptionsInterface
23
     */
24
    private $options;
25
26
    /**
27
     * @inheritdoc
28
     */
29
    public function getOptions()
30
    {
31
        if ($this->options === null) {
32
            $this->options = new Options;
33
        }
34
        return $this->options;
35
    }
36
37
    /**
38
     * @inheritdoc
39
     */
40
    public function setOptions($options)
41
    {
42
        if (!$options instanceof OptionsInterface) {
43
            $options = new Options($options);
44
        }
45
        $this->options = $options;
46
        return $this;
47
    }
48
}
49