alecgunnar/Maverick

View on GitHub
src/Http/Router/Dispatcher/Utility/CollectionProcessor.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace Maverick\Http\Router\Dispatcher\Utility;

use Maverick\Http\Router\Route\Collection\CollectionInterface;
use FastRoute\RouteCollector;

class CollectionProcessor
{
    /**
     * @var CollectionInterface
     */
    protected $collection;

    /**
     * @param CollectionInterface $collection
     */
    public function __construct(CollectionInterface $collection)
    {
        $this->collection = $collection;
    }

    public function __invoke(RouteCollector $router)
    {
        $routes = $this->collection->all();
        
        foreach ($routes as $name => $route) {
            $router->addRoute(
                $route->getMethods(),
                $route->getPath(),
                $name
            );
        }
    }
}