Test Failed
Push — master ( dc68d1...1f5199 )
by Mathieu
02:31
created

DateHelperAwareTrait::setDateHelper()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
1
<?php
2
3
namespace Charcoal\Cms\Support\Traits;
4
5
// local dependencies
6
use Charcoal\Cms\Support\Helpers\DateHelper;
7
8
// dependencies from `pimple`
9
use Slim\Exception\ContainerException;
10
11
trait DateHelperAwareTrait
12
{
13
    /**
14
     * @var DateHelper $dateHelper
15
     */
16
    private $dateHelper;
17
18
    /**
19
     * @return DateHelper
20
     * @throws ContainerException When a dependency is missing.
21
     */
22
    protected function dateHelper()
23
    {
24
        if (!$this->dateHelper instanceof DateHelper) {
25
            throw new ContainerException(sprintf(
26
                'Missing dependency for %s: %s',
27
                get_called_class(),
28
                DateHelper::class
29
            ));
30
        }
31
32
        return $this->dateHelper;
33
    }
34
35
    /**
36
     * @param DateHelper $dateHelper The date helper class.
37
     * @return self
38
     */
39
    protected function setDateHelper(DateHelper $dateHelper)
40
    {
41
        $this->dateHelper = $dateHelper;
42
43
        return $this;
44
    }
45
}
46