22 lines
465 B
PHP
22 lines
465 B
PHP
<?php
|
|
|
|
namespace Plugin\Pipeline;
|
|
|
|
use Twig\Environment;
|
|
|
|
class Evaluation
|
|
{
|
|
public function __construct(protected Environment $twig)
|
|
{
|
|
}
|
|
|
|
public function isTrue(string $rule, array $data)
|
|
{
|
|
$rule = str_replace(['{{', '}}'], '', $rule);
|
|
$rule = sprintf('{{ (%s) is same as (true) ? "true" : "false" }}', $rule);
|
|
$template = $this->twig->createTemplate($rule);
|
|
|
|
return 'true' === $template->render($data);
|
|
}
|
|
}
|