Talesoft/tale-uri

View on GitHub
src/Uri/Renderer/CallbackRenderer.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php declare(strict_types=1);

namespace Tale\Uri\Renderer;

use Psr\Http\Message\UriInterface;
use Tale\Uri\RendererInterface;

final class CallbackRenderer implements RendererInterface
{
    /** @var callable */
    private $callback;

    /**
     * CallbackRenderer constructor.
     * @param callable $callback
     */
    public function __construct(callable $callback)
    {
        $this->callback = $callback;
    }

    public function render(UriInterface $uri): string
    {
        $callback = $this->callback;
        return $callback($uri);
    }
}