TipoDeJoin::esValido()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 2
c 1
b 0
f 0
nc 2
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 2
rs 10
1
<?php
2
namespace src\pdodatabase\elementos;
3
4
use Exception;
5
6
class TipoDeJoin
7
{
8
    private $_tiposValidos = [
9
        'inner' => 'INNER JOIN',
10
        'right' => 'RIGHT JOIN',
11
        'left' => 'LEFT JOIN',
12
        'full' => 'FULL JOIN'
13
    ];
14
15
    private $_join;
16
17 45
    public function __construct(string $join)
18
    {
19 45
        $this->_join = $this->setJoin($join);
20 43
    }
21
22 15
    public function sql(): string
23
    {
24 15
        return $this->_join;
25
    }
26
27 45
    public function setJoin(string $join): string
28
    {
29 45
        $this->estaVacio($join);
30 44
        $this->esValido($join);
31
32 43
        return $this->_tiposValidos[$join];
33
    }
34
35 45
    private function estaVacio(string $string): void
36
    {
37 45
        if(empty($string))
38
        {
39 1
            throw new Exception("Error Processing Request");
40
        }
41 44
    } 
42
43 44
    private function esValido(string $string): void
44
    {
45 44
        if(!array_key_exists($string, $this->_tiposValidos))
46
        {
47 1
            throw new Exception("Error Processing Request");
48
        }
49
    } 
50
}