TransactionManager   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 7
c 0
b 0
f 0
dl 0
loc 20
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A populate() 0 3 1
A process() 0 3 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