Completed
Pull Request — master (#10)
by Joao
04:11
created

ORMHelper::processLiteral()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 25
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 4.9586

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 4
eloc 13
c 1
b 0
f 0
nc 4
nop 2
dl 0
loc 25
ccs 14
cts 23
cp 0.6087
crap 4.9586
rs 9.8333
1
<?php
2
3
namespace ByJG\MicroOrm;
4
5
class ORMHelper
6
{
7 46
    public static function processLiteral($sql, &$params)
8
    {
9 46
        if (!is_array($params)) {
10 6
            return $sql;
11
        }
12
13 42
        foreach ($params as $field => $param) {
14 38
            if ($param instanceof Literal) {
15 12
                $literalValue = $param->getLiteralValue();
16 12
                $sql = preg_replace(
17
                    [
18 12
                        "/\\[\\[$field\\]\\]/",
19 12
                        "/:$field([^\\d\\w]|$)/"
20
                    ],
21
                    [
22 12
                        $literalValue,
23 12
                        "$literalValue\$1"
24
                    ],
25 12
                    $sql
26
                );
27 38
                unset($params[$field]);
28
            }
29
        }
30
31 42
        return $sql;
32
    }
33
}
34