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

TaskEventProvider   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 1
dl 0
loc 53
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getCompletedTaskEvents() 0 4 1
A getPendingTaskEvents() 0 4 1
A getScheduledTaskEvents() 0 4 1
A getNextScheduledTaskEvent() 0 8 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