PostTypeCondition   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A getArguments() 0 2 1
A isSatisfied() 0 2 2
1
<?php
2
/**
3
 * @package   WPEmerge
4
 * @author    Atanas Angelov <[email protected]>
5
 * @copyright 2017-2019 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
 * Check against the current post's type.
16
 *
17
 * @codeCoverageIgnore
18
 */
19
class PostTypeCondition implements ConditionInterface {
20
	/**
21
	 * Post type to check against
22
	 *
23
	 * @var string
24
	 */
25
	protected $post_type = '';
26
27
	/**
28
	 * Constructor
29
	 *
30
	 * @codeCoverageIgnore
31
	 * @param string $post_type
32
	 */
33
	public function __construct( $post_type ) {
34
		$this->post_type = $post_type;
35
	}
36
37
	/**
38
	 * {@inheritDoc}
39
	 */
40
	public function isSatisfied( RequestInterface $request ) {
41
		return ( is_singular() && $this->post_type === get_post_type() );
42
	}
43
44
	/**
45
	 * {@inheritDoc}
46
	 */
47
	public function getArguments( RequestInterface $request ) {
48
		return ['post_type' => $this->post_type];
49
	}
50
}
51