SelectOrderByLimit::crear()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 12
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 17
ccs 13
cts 13
cp 1
crap 1
rs 9.8666
1
<?php
2
namespace src\factory;
3
4
use src\FactoryClassInterface;
5
use src\pdodatabase\conexion\CrearConexionBaseDeDatos;
6
use src\pdodatabase\consultas\select\ConsultaSelectOrdenYLimite;
7
use src\pdodatabase\ejecutar\EjecutarConsultaSinDatos;
8
use src\pdodatabase\elementos\Campos;
9
use src\pdodatabase\elementos\CamposYTabla;
10
use src\pdodatabase\elementos\Limite;
11
use src\pdodatabase\elementos\Orden;
12
use src\pdodatabase\elementos\OrdenYLimite;
13
use src\pdodatabase\elementos\Tabla;
14
use src\pdodatabase\sentencias\select\SentenciaSelectOrdenYLimite;
15
16
class SelectOrderByLimit implements FactoryClassInterface
17
{
18 1
    public function crear(array $array): ConsultaSelectOrdenYLimite
19
    {
20 1
        $conexion = new CrearConexionBaseDeDatos;
21 1
        $conexion = $conexion->crear([]);
22
23 1
        return new ConsultaSelectOrdenYLimite(
24 1
            new EjecutarConsultaSinDatos(
25 1
                $conexion
26
            ),
27 1
            new SentenciaSelectOrdenYLimite(
28 1
                new CamposYTabla(
29 1
                    new Campos($array['campos']),
30 1
                    new Tabla($array['tabla'])
31
                ),
32 1
                new OrdenYLimite(
33 1
                    new Orden($array['order']),
34 1
                    new Limite($array['limit'])
35
                )
36
            )
37
        );
38
    }
39
}