Passed
Push — main ( 1ecd49...db4bc4 )
by Osvaldo
05:56
created

Autorizacion   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 34
ccs 13
cts 13
cp 1
rs 10
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A rol() 0 3 1
A recursoSolicitado() 0 3 1
A setRecursoSolicitado() 0 7 2
A __construct() 0 10 1
1
<?php
2
namespace src;
3
4
use src\excepciones\RecursoSolicitadoVacioException;
5
6
use src\interfaces\VerificarPermisosInterface;
7
8
class Autorizacion
9
{
10
    private Rol $_rol;
11
    private string $_recursoSolicitado;
12
13 11
    public function __construct(
14
        VerificarPermisosInterface $verificarPermisosInterface,
15
        Rol $rol,
16
        string $recursoSolicitado
17
    ) {
18 11
        $this->_rol = $rol;
19
        
20 11
        $this->_recursoSolicitado = $this->setRecursoSolicitado($recursoSolicitado);
21
22 11
        $verificarPermisosInterface->verificar($this->_rol->rol(), $this->_recursoSolicitado);
23 11
    }
24
25 1
    public function rol(): string
26
    {
27 1
        return $this->_rol->rol();
28
    }
29
30 1
    public function recursoSolicitado(): string
31
    {
32 1
        return $this->_recursoSolicitado;
33
    }
34
35 11
    private function setRecursoSolicitado(string $string): string
36
    {
37 11
        if (empty($string)) {
38 1
            throw new RecursoSolicitadoVacioException("El recurso que se solicita no puede estar vacío");
39
        }
40
41 11
        return $string;
42
    }
43
}
44