Completed
Pull Request — master (#2)
by Jan-Petter
02:43
created

VisitTimeParser::render()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 9
rs 9.6666
cc 2
eloc 6
nc 2
nop 0
1
<?php
2
namespace vipnytt\RobotsTxtParser\Parser\Directives;
3
4
use vipnytt\RobotsTxtParser\Client\Directives\VisitTimeClient;
5
use vipnytt\RobotsTxtParser\RobotsTxtInterface;
6
7
/**
8
 * Class VisitTimeParser
9
 *
10
 * @package vipnytt\RobotsTxtParser\Parser\Directives
11
 */
12
class VisitTimeParser implements ParserInterface, RobotsTxtInterface
13
{
14
    use DirectiveParserCommons;
15
16
    /**
17
     * VisitTime array
18
     * @var array
19
     */
20
    private $visitTimes = [];
21
22
    /**
23
     * VisitTime constructor.
24
     */
25
    public function __construct()
26
    {
27
    }
28
29
    /**
30
     * Add
31
     *
32
     * @param string $line
33
     * @return bool
34
     */
35
    public function add($line)
36
    {
37
        $array = $this->draftParseTime($line);
38
        if ($array !== false) {
39
            $this->visitTimes[] = $array;
40
            return true;
41
        }
42
        return false;
43
    }
44
45
    /**
46
     * Client
47
     *
48
     * @return VisitTimeClient
49
     */
50
    public function client()
51
    {
52
        return new VisitTimeClient($this->visitTimes);
53
    }
54
55
    /**
56
     * Render
57
     *
58
     * @return string[]
59
     */
60
    public function render()
61
    {
62
        $result = [];
63
        foreach ($this->visitTimes as $array) {
64
            $result[] = self::DIRECTIVE_VISIT_TIME . ':' . $array['from'] . '-' . $array['to'];
65
        }
66
        sort($result);
67
        return $result;
68
    }
69
}
70