PostSlugCondition   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 31
rs 10
c 0
b 0
f 0
wmc 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getArguments() 0 2 1
A __construct() 0 2 1
A isSatisfied() 0 3 3
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 slug.
16
 *
17
 * @codeCoverageIgnore
18
 */
19
class PostSlugCondition implements ConditionInterface {
20
	/**
21
	 * Post slug to check against
22
	 *
23
	 * @var string
24
	 */
25
	protected $post_slug = '';
26
27
	/**
28
	 * Constructor
29
	 *
30
	 * @codeCoverageIgnore
31
	 * @param string $post_slug
32
	 */
33
	public function __construct( $post_slug ) {
34
		$this->post_slug = $post_slug;
35
	}
36
37
	/**
38
	 * {@inheritDoc}
39
	 */
40
	public function isSatisfied( RequestInterface $request ) {
41
		$post = get_post();
42
		return ( is_singular() && $post && $this->post_slug === $post->post_name );
43
	}
44
45
	/**
46
	 * {@inheritDoc}
47
	 */
48
	public function getArguments( RequestInterface $request ) {
49
		return ['post_slug' => $this->post_slug];
50
	}
51
}
52