RouteGroup::path()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Controlabs\Routify;
4
5
class RouteGroup
6
{
7
    /**
8
     * An array of the groups.
9
     *
10
     * @var array
11
     */
12
    protected $groups = [];
13
14
    /**
15
     * Start a group
16
     *
17
     * @param string  $group
18
     *
19
     * @return void
20
     */
21
    public function startGroup(string $group)
22
    {
23
        ($group) && array_push($this->groups, $group);
24
    }
25
26
    /**
27
     * Ends a group
28
     *
29
     * @return void
30
     */
31
    public function endGroup()
32
    {
33
        array_pop($this->groups);
34
    }
35
36
    /**
37
     * Returns a complete path
38
     *
39
     * @return string
40
     */
41
    public function path()
42
    {
43
        $clean = function($v) {
44
            return str_replace('/', '', $v);
45
        };
46
47
        return join(
48
            '/',
49
            array_map($clean, $this->groups)
50
        );
51
    }
52
}
53