Completed
Push — master ( dfaf51...188ba1 )
by Samuel
02:15
created

RouteContainer::add()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Kelemen\ApiNette\Route;
4
5
class RouteContainer
6
{
7
    /** @var array */
8
    private $routes = [];
9
10
    /**
11
     * @param Route $route
12
     */
13 12
    public function add(Route $route)
14
    {
15 12
        $this->routes[$route->getMethod()][] = $route;
16 12
    }
17
18
    /**
19
     * @param string|null $method
20
     * @return array
21
     */
22 14
    public function getRoutes($method = null)
23
    {
24 14
        if ($method !== null) {
25 14
            $method = strtolower($method);
26 14
            return isset($this->routes[$method]) ? $this->routes[$method] : [];
27
        }
28
29 2
        $routes = [];
30 2
        foreach ($this->routes as $routesByMethod) {
31 2
            $routes = array_merge($routes, $routesByMethod);
32 1
        }
33 2
        return $routes;
34
    }
35
}
36