| Conditions | 4 | 
| Paths | 6 | 
| Total Lines | 15 | 
| Code Lines | 11 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Tests | 11 | 
| CRAP Score | 4 | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | <?php  | 
            ||
| 32 | 5 | public function handle(ParsedRoute $route)  | 
            |
| 33 |     { | 
            ||
| 34 | 5 |         $segments = explode("::", $route->controller()); | 
            |
| 35 | 5 | $controller = $segments[0];  | 
            |
| 36 | 5 | $action = count($segments) > 1 ? $segments[1] : "index";  | 
            |
| 37 | 5 |         if (method_exists($controller, $action)) { | 
            |
| 38 | 4 |             if (!isset($this->request)) { | 
            |
| 39 | 3 | $this->request = Request::createFromGlobals();  | 
            |
| 40 | 3 | }  | 
            |
| 41 | 4 | $params = [$this->request, new Response(), $route->params()];  | 
            |
| 42 | 4 | return call_user_func_array([new $controller(), $action], $params);  | 
            |
| 43 |         } else { | 
            ||
| 44 | 1 |             throw new RuntimeException("No method {$action} in controller {$segments[0]}"); | 
            |
| 45 | }  | 
            ||
| 46 | }  | 
            ||
| 47 | }  | 
            ||
| 48 |