Passed
Push — master ( 685651...ff2960 )
by Atanas
02:52
created

NegateCondition   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 51
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
wmc 7

5 Methods

Rating   Name   Duplication   Size   Complexity  
A isSatisfied() 0 2 1
A getUrlWhere() 0 6 2
A getArguments() 0 2 1
A __construct() 0 2 1
A setUrlWhere() 0 3 2
1
<?php
2
/**
3
 * @package   WPEmerge
4
 * @author    Atanas Angelov <[email protected]>
5
 * @copyright 2018 Atanas Angelov
6
 * @license   https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7
 * @link      https://wpemerge.com/
8
 */
9
10
namespace WPEmerge\Routing\Conditions;
11
12
use WPEmerge\Requests\RequestInterface;
13
14
/**
15
 * Negate another condition's result.
16
 */
17
class NegateCondition implements ConditionInterface, HasUrlWhereInterface {
18
	/**
19
	 * Condition to negate.
20
	 *
21
	 * @var ConditionInterface
22
	 */
23
	protected $condition = null;
24
25
	/**
26
	 * Constructor.
27
	 *
28
	 * @codeCoverageIgnore
29
	 * @param ConditionInterface $condition
30
	 */
31
	public function __construct( $condition ) {
32
		$this->condition = $condition;
33
	}
34
35
	/**
36
	 * {@inheritDoc}
37
	 */
38
	public function isSatisfied( RequestInterface $request ) {
39
		return ! $this->condition->isSatisfied( $request );
40
	}
41
42
	/**
43
	 * {@inheritDoc}
44
	 */
45
	public function getArguments( RequestInterface $request ) {
46
		return $this->condition->getArguments( $request );
47
	}
48
49
	/**
50
	 * {@inheritDoc}
51
	 * @codeCoverageIgnore
52
	 */
53
	public function getUrlWhere() {
54
		if ( $this->condition instanceof HasUrlWhereInterface ) {
55
			$this->condition->getUrlWhere();
56
		}
57
58
		return [];
59
	}
60
61
	/**
62
	 * {@inheritDoc}
63
	 * @codeCoverageIgnore
64
	 */
65
	public function setUrlWhere( $where ) {
66
		if ( $this->condition instanceof HasUrlWhereInterface ) {
67
			$this->condition->setUrlWhere( $where );
68
		}
69
	}
70
}
71