TimelineSearch::getTimelineUrlPrefix()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Osnova\Services\Timeline\Owners;
4
5
use Osnova\Services\Timeline\Interfaces\ModifiesTimelineRequest;
6
use Osnova\Services\Timeline\Interfaces\TimelineOwnerInterface;
7
use Osnova\Services\Timeline\Requests\TimelineRequest;
8
use Osnova\Services\Timeline\Requests\TimelineSearchRequest;
9
10
class TimelineSearch implements TimelineOwnerInterface, ModifiesTimelineRequest
11
{
12
    /** @var string */
13
    protected $query;
14
15
    /**
16
     * TimelineSearch constructor.
17
     *
18
     * @param string $query
19
     */
20
    public function __construct(string $query)
21
    {
22
        $this->query = $query;
23
    }
24
25
    /**
26
     * Modify given timeline request.
27
     *
28
     * @param TimelineRequest|TimelineSearchRequest $request
29
     *
30
     * @return TimelineSearchRequest
31
     */
32
    public function modifyTimelineRequest($request)
33
    {
34
        if ($request instanceof TimelineSearchRequest) {
35
            return $request->setQuery($this->query);
36
        }
37
38
        return (new TimelineSearchRequest('relevant'))->setQuery($this->query);
39
    }
40
41
    /**
42
     * Get the timeline URL prefix.
43
     *
44
     * @return string
45
     */
46
    public function getTimelineUrlPrefix()
47
    {
48
        return 'search';
49
    }
50
}
51