Gate   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 22
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 14 2
A noGate() 0 4 1
1
<?php
2
3
namespace Fireworkweb\Gates\Middlewares;
4
5
class Gate
6
{
7
    public function handle($request, \Closure $next)
8
    {
9
        $route = $request->route();
10
        $routeName = $route->getName();
11
        $routeParameters = array_values($route->parameters());
12
13
        if (gate()->has($routeName)) {
14
            gate()->authorize($routeName, $routeParameters);
15
        } else {
16
            $this->noGate($routeName);
17
        }
18
19
        return $next($request);
20
    }
21
22
    protected function noGate($routeName)
23
    {
24
        throw new \Exception('No matching gate for this route.');
25
    }
26
}
27