Agent
last analyzed

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 39
ccs 0
cts 0
cp 0
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
setRequest() 0 1 ?
parse() 0 1 ?
detector() 0 1 ?
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Arcanedev\Agent\Contracts;
6
7
use Illuminate\Http\Request;
8
9
/**
10
 * Interface  Agent
11
 *
12
 * @author    ARCANEDEV <[email protected]>
13
 */
14
interface Agent
15
{
16
    /* -----------------------------------------------------------------
17
     |  Getters & Setters
18
     | -----------------------------------------------------------------
19
     */
20
21
    /**
22
     * Set the request instance.
23
     *
24
     * @param  \Illuminate\Http\Request  $request
25
     *
26
     * @return \Arcanedev\Agent\Agent
27
     */
28
    public function setRequest(Request $request);
29
30
    /* -----------------------------------------------------------------
31
     |  Main Methods
32
     | -----------------------------------------------------------------
33
     */
34
35
    /**
36
     * Parse the given request.
37
     *
38
     * @param  \Illuminate\Http\Request|null  $request
39
     *
40
     * @return \Arcanedev\Agent\Contracts\Agent
41
     */
42
    public function parse(Request $request = null): Agent;
43
44
    /**
45
     * Make a detector.
46
     *
47
     * @param  string  $key
48
     *
49
     * @return \Arcanedev\Agent\Contracts\Detector|mixed
50
     */
51
    public function detector(string $key): Detector;
52
}
53