TransactionManager::populate()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
c 0
b 0
f 0
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DH\Auditor\Provider\Doctrine\Auditing\Transaction;
6
7
use DH\Auditor\Model\TransactionInterface;
8
use DH\Auditor\Provider\Doctrine\DoctrineProvider;
9
use DH\Auditor\Transaction\TransactionHydratorInterface;
10
use DH\Auditor\Transaction\TransactionManagerInterface;
11
use DH\Auditor\Transaction\TransactionProcessorInterface;
12
13
final class TransactionManager implements TransactionManagerInterface
14
{
15
    private TransactionProcessorInterface $processor;
16
17
    private TransactionHydratorInterface $hydrator;
18
19
    public function __construct(DoctrineProvider $provider)
20
    {
21
        $this->processor = new TransactionProcessor($provider);
22
        $this->hydrator = new TransactionHydrator($provider);
23
    }
24
25
    public function populate(TransactionInterface $transaction): void
26
    {
27
        $this->hydrator->hydrate($transaction);
28
    }
29
30
    public function process(TransactionInterface $transaction): void
31
    {
32
        $this->processor->process($transaction);
33
    }
34
}
35