Completed
Push — master ( 4fb1d6...a24b8d )
by Oscar
01:43
created

Boolean   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 21
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getFactory() 0 8 1
A format() 0 4 1
A formatToDatabase() 0 4 1
1
<?php
2
declare(strict_types = 1);
3
4
namespace SimpleCrud\Fields;
5
6
final class Boolean extends Field
7
{
8
    public static function getFactory(): FieldFactory
9
    {
10
        return new FieldFactory(
11
            self::class,
12
            ['boolean'],
13
            ['active', '/^(is|has)[A-Z]/']
14
        );
15
    }
16
17
    public function format($value): bool
18
    {
19
        return filter_var($value, FILTER_VALIDATE_BOOLEAN);
20
    }
21
22
    protected function formatToDatabase($value): int
23
    {
24
        return (int) $this->format($value);
25
    }
26
}
27