Subject::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 5
ccs 4
cts 4
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 2
crap 1
1
<?php
2
3
namespace TonicHealthCheck\Incident\Siren\Subject;
4
5
use Cron\CronExpression;
6
7
/**
8
 * Class Subject.
9
 */
10
class Subject implements SubjectInterface
11
{
12
    /**
13
     * @var string;
14
     */
15
    private $target;
16
17
    /**
18
     * @var CronExpression ;
19
     */
20
    private $schedule;
21
22
    /**
23
     * Subject constructor.
24
     *
25
     * @param string              $target
26
     * @param null|CronExpression $schedule
27
     */
28 7
    public function __construct($target, CronExpression $schedule = null)
29
    {
30 7
        $this->setTarget($target);
31 7
        $this->setSchedule($schedule);
32 7
    }
33
34
    /**
35
     * @return string
36
     */
37 4
    public function getTarget()
38
    {
39 4
        return $this->target;
40
    }
41
42
    /**
43
     * @return CronExpression
44
     */
45 2
    public function getSchedule()
46
    {
47 2
        return $this->schedule;
48
    }
49
50
    /**
51
     * @return string
52
     */
53 3
    public function __toString()
54
    {
55 3
        return $this->getTarget();
56
    }
57
58
    /**
59
     * @param string $target
60
     */
61 7
    protected function setTarget($target)
62
    {
63 7
        $this->target = $target;
64 7
    }
65
66
    /**
67
     * @param null|CronExpression $schedule
68
     */
69 7
    protected function setSchedule(CronExpression $schedule = null)
70
    {
71 7
        $this->schedule = $schedule;
72 7
    }
73
}
74