Passed
Push — master ( e288dc...71d24f )
by Richard
01:40
created

Like   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 10
c 0
b 0
f 0
wmc 9

2 Methods

Rating   Name   Duplication   Size   Complexity  
A matches() 0 3 4
B getSql() 0 7 5
1
<?php
2
namespace Maphper\Lib\Sql;
3
use Maphper\Maphper;
4
5
class Like implements WhereConditional {
6
    public function matches($key, $value, $mode) {
7
        return Maphper::FIND_LIKE & $mode || Maphper::FIND_STARTS & $mode ||
8
                Maphper::FIND_ENDS & $mode || Maphper::FIND_NOCASE & $mode;
9
    }
10
11
    public function getSql($key, $value, $mode) {
12
        if (Maphper::FIND_LIKE & $mode || Maphper::FIND_STARTS & $mode) $value = '%' . $value;
13
        if (Maphper::FIND_LIKE & $mode || Maphper::FIND_ENDS & $mode) $value .= '%';
14
15
        return [
16
            'sql' => [$key . ' LIKE :' . $key],
17
            'args' => [$key => $value]
18
        ];
19
    }
20
}
21