Completed
Push — master ( 0ccfde...eaf050 )
by Jan-Petter
02:14
created

UserAgentClient::noIndex()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
namespace vipnytt\RobotsTxtParser\Client\Directives;
3
4
use vipnytt\RobotsTxtParser\Parser\Directives\SubDirectiveHandler;
5
6
/**
7
 * Class UserAgentClient
8
 *
9
 * @package vipnytt\RobotsTxtParser\Client\Directives
10
 */
11
class UserAgentClient extends UserAgentTools
12
{
13
    /**
14
     * User-agent
15
     * @var string
16
     */
17
    private $userAgent;
18
19
    /**
20
     * UserAgentClient constructor.
21
     *
22
     * @param SubDirectiveHandler $handler
23
     * @param string $baseUri
24
     * @param int|null $statusCode
25
     * @param string $userAgent
26
     */
27
    public function __construct(SubDirectiveHandler $handler, $baseUri, $statusCode, $userAgent)
28
    {
29
        $this->userAgent = $userAgent;
30
        parent::__construct($handler, $baseUri, $statusCode);
31
    }
32
33
    /**
34
     * Allow
35
     *
36
     * @return AllowClient
37
     */
38
    public function allow()
39
    {
40
        return $this->handler->allow()->client();
41
    }
42
43
    /**
44
     * Cache-delay
45
     *
46
     * @return DelayClient
47
     */
48
    public function cacheDelay()
49
    {
50
        return $this->handler->cacheDelay()->client($this->userAgent, $this->crawlDelay()->getValue());
51
    }
52
53
    /**
54
     * Crawl-delay
55
     *
56
     * @return DelayClient
57
     */
58
    public function crawlDelay()
59
    {
60
        return $this->handler->crawlDelay()->client($this->userAgent);
61
    }
62
63
    /**
64
     * RequestClient-rate
65
     *
66
     * @return RequestRateClient
67
     */
68
    public function requestRate()
69
    {
70
        return $this->handler->requestRate()->client($this->userAgent, $this->crawlDelay()->getValue());
71
    }
72
73
    /**
74
     * Comment
75
     *
76
     * @return CommentClient
77
     */
78
    public function comment()
79
    {
80
        return $this->handler->comment()->client();
81
    }
82
83
    /**
84
     * Disallow
85
     *
86
     * @return AllowClient
87
     */
88
    public function disallow()
89
    {
90
        return $this->handler->disallow()->client();
91
    }
92
93
    /**
94
     * NoIndex
95
     *
96
     * @return AllowClient
97
     */
98
    public function noIndex()
99
    {
100
        return $this->handler->noIndex()->client();
101
    }
102
103
    /**
104
     * Robot-version
105
     *
106
     * @return RobotVersionClient
107
     */
108
    public function robotVersion()
109
    {
110
        return $this->handler->robotVersion()->client();
111
    }
112
113
    /**
114
     * Visit-time
115
     *
116
     * @return VisitTimeClient
117
     */
118
    public function visitTime()
119
    {
120
        return $this->handler->visitTime()->client();
121
    }
122
}
123