DateRuleAbstract   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 51
c 0
b 0
f 0
wmc 5
lcom 1
cbo 1
ccs 12
cts 12
cp 1
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setDateTimeBuilder() 0 6 1
A getDateTimeBuilder() 0 8 2
A getDefaultFormat() 0 4 1
A setDefaultFormat() 0 4 1
1
<?php declare(strict_types=1);
2
/*
3
 * This file is part of the feed-io package.
4
 *
5
 * (c) Alexandre Debril <[email protected]>
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
namespace FeedIo;
12
13
use FeedIo\Rule\DateTimeBuilder;
14
15
abstract class DateRuleAbstract extends RuleAbstract
16
{
17
    /**
18
     * @var \FeedIo\Rule\DateTimeBuilder
19
     */
20
    protected $dateTimeBuilder = null;
21
22
    /**
23
     * @var string
24
     */
25
    protected $defaultFormat = \DateTime::RSS;
26
27
    /**
28
     * @param  \FeedIo\Rule\DateTimeBuilder $dateTimeBuilder
29
     * @return DateRuleAbstract
30
     */
31 29
    public function setDateTimeBuilder(DateTimeBuilder $dateTimeBuilder) : DateRuleAbstract
32
    {
33 29
        $this->dateTimeBuilder = $dateTimeBuilder;
34
35 29
        return $this;
36
    }
37
38
    /**
39
     * @return DateTimeBuilder
40
     */
41 15
    public function getDateTimeBuilder() : DateTimeBuilder
42
    {
43 15
        if (is_null($this->dateTimeBuilder)) {
44 1
            throw new \UnexpectedValueException('date time builder should not be null');
45
        }
46
47 14
        return $this->dateTimeBuilder;
48
    }
49
50
    /**
51
     * @return string
52
     */
53 7
    public function getDefaultFormat() : string
54
    {
55 7
        return $this->defaultFormat;
56
    }
57
58
    /**
59
     * @param string $defaultFormat
60
     */
61 24
    public function setDefaultFormat(string $defaultFormat) : void
62
    {
63 24
        $this->defaultFormat = $defaultFormat;
64 24
    }
65
}
66