Completed
Push — master ( 097525...bf2c3a )
by Marcel
07:01
created

DingoGenerator::processRoute()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 21
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 1 Features 2
Metric Value
c 3
b 1
f 2
dl 0
loc 21
rs 9.3142
cc 2
eloc 17
nc 2
nop 2
1
<?php
2
3
namespace Mpociot\ApiDoc\Generators;
4
5
use Exception;
6
7
class DingoGenerator extends AbstractGenerator
8
{
9
    /**
10
     * @param $route
11
     * @param array $bindings
12
     *
13
     * @return array
14
     */
15
    public function processRoute($route, $bindings = [])
16
    {
17
        try {
18
            $response = $this->getRouteResponse($route, $bindings);
19
        } catch( Exception $e){
20
            $response = '';
21
        }
22
        $routeAction = $route->getAction();
23
        $routeGroup = $this->getRouteGroup($routeAction['uses']);
24
        $routeDescription = $this->getRouteDescription($routeAction['uses']);
25
26
        return $this->getParameters([
27
            'resource' => $routeGroup,
28
            'title' => $routeDescription['short'],
29
            'description' => $routeDescription['long'],
30
            'methods' => $route->getMethods(),
31
            'uri' => $route->uri(),
32
            'parameters' => [],
33
            'response' => $response,
34
        ], $routeAction);
35
    }
36
37
    /**
38
     * {@inheritdoc}
39
     */
40
    public function callRoute($method, $uri, $parameters = [], $cookies = [], $files = [], $server = [], $content = null)
41
    {
42
        return call_user_func_array([app('Dingo\Api\Dispatcher'), strtolower($method)], [$uri]);
43
    }
44
45
    /**
46
     * {@inheritdoc}
47
     */
48
    protected function getUri($route)
49
    {
50
        return $route->uri();
51
    }
52
}
53