Mpociot\ApiDoc\Commands\GenerateDocumentation::handle PHP Method

handle() public method

Execute the console command.
public handle ( ) : false | null
return false | null
    public function handle()
    {
        if ($this->option('router') === 'laravel') {
            $generator = new LaravelGenerator();
        } else {
            $generator = new DingoGenerator();
        }
        $allowedRoutes = $this->option('routes');
        $routePrefix = $this->option('routePrefix');
        $middleware = $this->option('middleware');
        $this->setUserToBeImpersonated($this->option('actAsUserId'));
        if ($routePrefix === null && !count($allowedRoutes) && $middleware === null) {
            $this->error('You must provide either a route prefix or a route or a middleware to generate the documentation.');
            return false;
        }
        $generator->prepareMiddleware($this->option('useMiddlewares'));
        if ($this->option('router') === 'laravel') {
            $parsedRoutes = $this->processLaravelRoutes($generator, $allowedRoutes, $routePrefix, $middleware);
        } else {
            $parsedRoutes = $this->processDingoRoutes($generator, $allowedRoutes, $routePrefix, $middleware);
        }
        $parsedRoutes = collect($parsedRoutes)->groupBy('resource')->sort(function ($a, $b) {
            return strcmp($a->first()['resource'], $b->first()['resource']);
        });
        $this->writeMarkdown($parsedRoutes);
    }