BoletaExentaNormalizerStrategy   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 3
dl 0
loc 16
ccs 4
cts 4
cp 1
rs 10
c 1
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A normalizeDocument() 0 3 1
A __construct() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * LibreDTE: Biblioteca PHP (Núcleo).
7
 * Copyright (C) LibreDTE <https://www.libredte.cl>
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la Licencia Pública General Affero de GNU publicada por
11
 * la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o
12
 * (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la Licencia Pública
17
 * General Affero de GNU para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la Licencia Pública General Affero de
20
 * GNU junto a este programa.
21
 *
22
 * En caso contrario, consulte <http://www.gnu.org/licenses/agpl.html>.
23
 */
24
25
namespace libredte\lib\Core\Package\Billing\Component\Document\Worker\Normalizer\Strategy;
26
27
use Derafu\Backbone\Attribute\Strategy;
28
use libredte\lib\Core\Package\Billing\Component\Document\Abstract\AbstractNormalizerStrategy;
29
use libredte\lib\Core\Package\Billing\Component\Document\Contract\DocumentBagInterface;
30
use libredte\lib\Core\Package\Billing\Component\Document\Contract\Normalizer\Strategy\BoletaExentaNormalizerStrategyInterface;
31
use libredte\lib\Core\Package\Billing\Component\Document\Worker\Normalizer\Job\NormalizeBoletaExentaJob;
32
use libredte\lib\Core\Package\Billing\Component\Document\Worker\Normalizer\Job\NormalizeDataPostDocumentNormalizationJob;
33
use libredte\lib\Core\Package\Billing\Component\Document\Worker\Normalizer\Job\NormalizeDataPreDocumentNormalizationJob;
34
35
/**
36
 * Normalizador del documento boleta exenta.
37
 */
38
#[Strategy(name: 'boleta_exenta', worker: 'normalizer', component: 'document', package: 'billing')]
39
class BoletaExentaNormalizerStrategy extends AbstractNormalizerStrategy implements BoletaExentaNormalizerStrategyInterface
40
{
41 3
    public function __construct(
42
        protected NormalizeDataPreDocumentNormalizationJob $normalizeDataPreDocumentNormalizationJob,
43
        protected NormalizeDataPostDocumentNormalizationJob $normalizeDataPostDocumentNormalizationJob,
44
        private NormalizeBoletaExentaJob $normalizeBoletaExentaJob
45
    ) {
46 3
    }
47
48
    /**
49
     * {@inheritDoc}
50
     */
51 3
    protected function normalizeDocument(DocumentBagInterface $bag): void
52
    {
53 3
        $this->normalizeBoletaExentaJob->execute($bag);
54
    }
55
}
56