Failed Conditions
Push — master ( 1d9c07...86291e )
by Atanas
02:02
created

PostIdCondition::toUrl()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
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 id.
16
 *
17
 * @codeCoverageIgnore
18
 */
19
class PostIdCondition implements ConditionInterface, UrlableInterface {
20
	/**
21
	 * Post id to check against
22
	 *
23
	 * @var integer
24
	 */
25
	protected $post_id = 0;
26
27
	/**
28
	 * Constructor
29
	 *
30
	 * @codeCoverageIgnore
31
	 * @param integer $post_id
32
	 */
33
	public function __construct( $post_id ) {
34
		$this->post_id = (int) $post_id;
35
	}
36
37
	/**
38
	 * {@inheritDoc}
39
	 */
40
	public function isSatisfied( RequestInterface $request ) {
41
		return ( is_singular() && $this->post_id === (int) get_the_ID() );
42
	}
43
44
	/**
45
	 * {@inheritDoc}
46
	 */
47
	public function getArguments( RequestInterface $request ) {
48
		return ['post_id' => $this->post_id];
49
	}
50
51
	/**
52
	 * {@inheritDoc}
53
	 */
54
	public function toUrl( $arguments = [] ) {
55
		return get_permalink( $this->post_id );
1 ignored issue
show
Bug Best Practice introduced by
The expression return get_permalink($this->post_id) also could return the type false which is incompatible with the return type mandated by WPEmerge\Routing\Conditi...lableInterface::toUrl() of string.
Loading history...
56
	}
57
}
58