YearField   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A validateCastValue() 0 9 2
A type() 0 4 1
1
<?php
2
3
namespace frictionlessdata\tableschema\Fields;
4
5
/**
6
 * Class YearField
7
 * casts to integer.
8
 */
9
class YearField extends BaseField
10
{
11
    protected function validateCastValue($val)
12
    {
13
        $year = (int) $val;
14
        if ((float) $val != (float) $year) {
15
            throw $this->getValidationException(null, $val);
16
        } else {
17
            return $year;
18
        }
19
    }
20
21
    public static function type()
22
    {
23
        return 'year';
24
    }
25
}
26