Passed
Branch 4.1.0 (271fee)
by Joao
03:47
created

ORMHelper::processLiteral()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 25
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 20

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 0
cts 23
cp 0
crap 20
rs 9.8333
1
<?php
2
3
namespace ByJG\MicroOrm;
4
5
class ORMHelper
6
{
7
    public static function processLiteral($sql, &$params)
8
    {
9
        if (!is_array($params)) {
10
            return $sql;
11
        }
12
13
        foreach ($params as $field => $param) {
14
            if ($param instanceof Literal) {
15
                $literalValue = $param->getLiteralValue();
16
                $sql = preg_replace(
17
                    [
18
                        "/\\[\\[$field\\]\\]/",
19
                        "/:$field([^\\d\\w]|$)/"
20
                    ],
21
                    [
22
                        $literalValue,
23
                        "$literalValue\$1"
24
                    ],
25
                    $sql
26
                );
27
                unset($params[$field]);
28
            }
29
        }
30
31
        return $sql;
32
    }
33
}
34