Passed
Push — master ( f7c888...c834f4 )
by Jim
01:11
created

TaskEventProvider::getScheduledTaskEvents()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 2
1
<?php
2
3
4
namespace Jarobe\TaskRunnerBundle\Provider;
5
6
use Jarobe\TaskRunnerBundle\Entity\TaskEvent;
7
use Jarobe\TaskRunnerBundle\Repository\TaskEventRepository;
8
9
class TaskEventProvider implements TaskEventProviderInterface
10
{
11
    private $repository;
12
13
    public function __construct(TaskEventRepository $repository)
14
    {
15
        $this->repository = $repository;
16
    }
17
18
    /**
19
     * @param \DateTime $dateTime
20
     * @param $typeName
21
     * @return TaskEvent[]
22
     */
23
    public function getCompletedTaskEvents(\DateTime $dateTime, $typeName)
24
    {
25
        return $this->repository->getCompletedTaskEvents($dateTime, $typeName);
26
    }
27
28
    /**
29
     * @param \DateTime $dateTime
30
     * @param $typeName
31
     * @return TaskEvent[]
32
     */
33
    public function getPendingTaskEvents(\DateTime $dateTime, $typeName)
34
    {
35
        return $this->repository->getPendingTaskEvents($dateTime, $typeName);
36
    }
37
38
    /**
39
     * @param \DateTime $dateTime
40
     * @param $typeName
41
     * @return TaskEvent[]
42
     */
43
    public function getScheduledTaskEvents(\DateTime $dateTime, $typeName)
44
    {
45
        return $this->repository->getScheduledTaskEvents($dateTime, $typeName);
46
    }
47
48
    /**
49
     * @param \DateTime $dateTime
50
     * @param $typeName
51
     * @return TaskEvent|null
52
     */
53
    public function getNextScheduledTaskEvent(\DateTime $dateTime, $typeName)
54
    {
55
        $scheduled = $this->getScheduledTaskEvents($dateTime, $typeName);
56
        if (count($scheduled)) {
57
            return $scheduled[0];
58
        }
59
        return null;
60
    }
61
}
62