Drahak\Restful\Application\RouteListFactory::parseClassRoutes PHP Method

parseClassRoutes() protected method

Parse route annotations on given object methods
protected parseClassRoutes ( Method[] $methods ) : array
$methods Nette\Reflection\Method[]
return array $data[URL mask][request method] = action name e.g. $data['api/v1/articles']['GET'] = 'read'
    protected function parseClassRoutes($methods)
    {
        $routeData = array();
        foreach ($methods as $method) {
            // Parse annotations only on action methods
            if (!Strings::contains($method->getName(), 'action')) {
                continue;
            }
            $annotations = $this->routeAnnotation->parse($method);
            foreach ($annotations as $requestMethod => $mask) {
                $action = str_replace('action', '', $method->getName());
                $action = Strings::firstLower($action);
                $pattern = $this->prefix ? $this->prefix . '/' . $mask : $mask;
                $routeData[$pattern][$requestMethod] = $action;
            }
        }
        return $routeData;
    }