Service::enable()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10

Duplication

Lines 10
Ratio 100 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 0
dl 10
loc 10
rs 9.9332
c 0
b 0
f 0
ccs 0
cts 6
cp 0
crap 6
1
<?php
2
3
namespace Carbon_Fields\Service;
4
5
abstract class Service {
6
7
	/**
8
	 * Service enabled state
9
	 *
10
	 * @var boolean
11
	 */
12
	protected $enabled = false;
13
14
	/**
15
	 * Check whether the service is enabled
16
	 */
17
	public function is_enabled() {
18
		return $this->enabled;
19
	}
20
21
	/**
22
	 * Enable the service
23
	 *
24
	 * @return bool
25
	 */
26 View Code Duplication
	public function enable() {
27
		if ( $this->is_enabled() ) {
28
			return false;
29
		}
30
		$this->enabled = true;
31
32
		$this->enabled();
33
34
		return true;
35
	}
36
37
	/**
38
	 * Enable actions for inheriting classes
39
	 */
40
	abstract protected function enabled();
41
42
	/**
43
	 * Disable the service
44
	 *
45
	 * @return bool
46
	 */
47 View Code Duplication
	public function disable() {
48
		if ( ! $this->is_enabled() ) {
49
			return false;
50
		}
51
		$this->enabled = false;
52
53
		$this->disabled();
54
55
		return true;
56
	}
57
58
	/**
59
	 * Disable actions for inheriting classes
60
	 */
61
	abstract protected function disabled();
62
}