refactor: inject ExpressionLanguage singleton using DI

This commit is contained in:
Michael Thomas
2024-03-07 13:00:57 -05:00
parent 438f602961
commit bee219ebf7
21 changed files with 122 additions and 164 deletions

View File

@@ -27,28 +27,28 @@ namespace FireflyIII\TransactionRules\Actions;
use FireflyIII\Events\TriggeredAuditLog;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\TransactionRules\Expressions\ActionExpressionEvaluator;
use FireflyIII\TransactionRules\Expressions\ActionExpression;
/**
* Class AppendDescription.
*/
class AppendDescription implements ActionInterface
{
private RuleAction $action;
private ActionExpressionEvaluator $evaluator;
private RuleAction $action;
private ActionExpression $expr;
/**
* TriggerInterface constructor.
*/
public function __construct(RuleAction $action, ActionExpressionEvaluator $evaluator)
public function __construct(RuleAction $action, ActionExpression $expr)
{
$this->action = $action;
$this->evaluator = $evaluator;
$this->expr = $expr;
}
public function actOnArray(array $journal): bool
{
$actionValue = $this->evaluator->evaluate($journal);
$actionValue = $this->expr->evaluate($journal);
$description = sprintf('%s %s', $journal['description'], $actionValue);
\DB::table('transaction_journals')->where('id', $journal['transaction_journal_id'])->limit(1)->update(['description' => $description]);