RecordWithState   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 0
dl 0
loc 56
ccs 0
cts 32
cp 0
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A stateRules() 0 15 1
A isEnabled() 0 4 1
A isDisabled() 0 4 1
A toEnabled() 0 5 1
A toDisabled() 0 5 1
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://github.com/flipbox/spark/blob/master/LICENSE
6
 * @link       https://github.com/flipbox/spark
7
 */
8
9
namespace flipbox\spark\records\traits;
10
11
use flipbox\spark\helpers\RecordHelper;
12
13
/**
14
 * @property bool $enabled
15
 *
16
 * @author Flipbox Factory <[email protected]>
17
 * @since 2.0.0
18
 */
19
trait RecordWithState
20
{
21
22
    /**
23
     * @inheritdoc
24
     */
25
    protected function stateRules()
26
    {
27
28
        return [
29
            [
30
                [
31
                    'enabled'
32
                ],
33
                'safe',
34
                'on' => [
35
                    RecordHelper::SCENARIO_DEFAULT
36
                ]
37
            ]
38
        ];
39
    }
40
41
    /**
42
     * @inheritdoc
43
     */
44
    public function isEnabled()
45
    {
46
        return (bool)$this->enabled;
47
    }
48
49
    /**
50
     * @inheritdoc
51
     */
52
    public function isDisabled()
53
    {
54
        return !$this->isEnabled();
55
    }
56
57
    /**
58
     * @inheritdoc
59
     */
60
    public function toEnabled()
61
    {
62
        $this->enabled = true;
63
        return $this;
64
    }
65
66
    /**
67
     * @inheritdoc
68
     */
69
    public function toDisabled()
70
    {
71
        $this->enabled = false;
72
        return $this;
73
    }
74
}
75