pug-php/pug-symfony

View on GitHub
src/Pug/Symfony/CssExtension.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

declare(strict_types=1);

namespace Pug\Symfony;

use Symfony\Bridge\Twig\Extension\AssetExtension;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;

class CssExtension extends AbstractExtension
{
    /**
     * @var AssetExtension
     */
    protected $assets;

    public function __construct(AssetExtension $assets)
    {
        $this->assets = $assets;
    }

    public function getUrl($url)
    {
        $url = $this->assets->getAssetUrl("$url");

        return sprintf('url(%s)', var_export("$url", true));
    }

    /**
     * {@inheritdoc}
     */
    public function getFunctions(): array
    {
        return [
            new TwigFunction('css_url', [$this, 'getUrl']),
        ];
    }
}