Completed
Push — master ( ad2c0d...49711d )
by Yaro
10:29
created

UrlTrait::createUrl()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 2
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Yaro\Jarboe\Table\CrudTraits;
4
5
trait UrlTrait
6
{
7
    public function editUrl($id)
8
    {
9
        return sprintf('%s%s%s', $this->baseUrl(), self::BASE_URL_DELIMITER, $id);
10
    }
11
12
    public function createUrl()
13
    {
14
        return sprintf('%s%screate', $this->baseUrl(), self::BASE_URL_DELIMITER);
15
    }
16
17
    public function deleteUrl($id)
18
    {
19
        return sprintf('%s%s%s/delete', $this->baseUrl(), self::BASE_URL_DELIMITER, $id);
20
    }
21
22
    public function restoreUrl($id)
23
    {
24
        return sprintf('%s%s%s/restore', $this->baseUrl(), self::BASE_URL_DELIMITER, $id);
25
    }
26
27
    public function forceDeleteUrl($id)
28
    {
29
        return sprintf('%s%s%s/force-delete', $this->baseUrl(), self::BASE_URL_DELIMITER, $id);
30
    }
31
32
    public function toolbarUrl($identifier)
33
    {
34
        return sprintf('%s%stoolbar/%s', $this->baseUrl(), self::BASE_URL_DELIMITER, $identifier);
35
    }
36
37 5
    public function listUrl()
38
    {
39 5
        return $this->baseUrl();
40
    }
41
42
    public function perPageUrl($perPage)
43
    {
44
        return sprintf('%s%sper-page/%s', $this->baseUrl(), self::BASE_URL_DELIMITER, $perPage);
45
    }
46
47
    public function searchUrl()
48
    {
49
        return sprintf('%s%ssearch', $this->baseUrl(), self::BASE_URL_DELIMITER);
50
    }
51
52
    public function relationSearchUrl()
53
    {
54
        return sprintf('%s%ssearch/relation', $this->baseUrl(), self::BASE_URL_DELIMITER);
55
    }
56
57 13
    public function inlineUrl()
58
    {
59 13
        return sprintf('%s%sinline', $this->baseUrl(), self::BASE_URL_DELIMITER);
60
    }
61
62
    public function orderUrl($column, $direction)
63
    {
64
        return sprintf('%s%sorder/%s/%s', $this->baseUrl(), self::BASE_URL_DELIMITER, $column, $direction);
65
    }
66
67
    public function reorderUrl()
68
    {
69
        return sprintf('%s%sreorder/switch', $this->baseUrl(), self::BASE_URL_DELIMITER);
70
    }
71
72
    public function reorderMoveItemUrl($id)
73
    {
74
        return sprintf('%s%sreorder/move/%s', $this->baseUrl(), self::BASE_URL_DELIMITER, $id);
75
    }
76
77 14
    public function baseUrl()
78
    {
79 14
        $chunks = explode(self::BASE_URL_DELIMITER, request()->url());
80
81 14
        return rtrim($chunks[0], '/');
82
    }
83
}