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

ORMHelper   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 60.87%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 14
c 2
b 0
f 0
dl 0
loc 27
ccs 14
cts 23
cp 0.6087
rs 10
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A processLiteral() 0 25 4
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