Dates   A
last analyzed

Complexity

Total Complexity 11

Size/Duplication

Total Lines 132
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 11
c 2
b 0
f 0
lcom 1
cbo 0
dl 0
loc 132
ccs 22
cts 22
cp 1
rs 10

12 Methods

Rating   Name   Duplication   Size   Complexity  
A date() 0 4 1
A dateTime() 0 4 1
A dateTimeTz() 0 4 1
A time() 0 4 1
A carbonDateTime() 0 4 1
A carbonDateTimeTz() 0 4 1
A carbonDate() 0 4 1
A carbonTime() 0 4 1
A zendDate() 0 4 1
A timestamp() 0 4 1
A timestampTz() 0 4 1
field() 0 1 ?
1
<?php
2
3
namespace LaravelDoctrine\Fluent\Builders\Traits;
4
5
use Doctrine\DBAL\Types\Type;
6
7
trait Dates
8
{
9
    /**
10
     * @param string        $name
11
     * @param callable|null $callback
12
     *
13
     * @return \LaravelDoctrine\Fluent\Builders\Field
14
     */
15 3
    public function date($name, callable $callback = null)
16
    {
17 3
        return $this->field(Type::DATE, $name, $callback);
18
    }
19
20
    /**
21
     * @param string        $name
22
     * @param callable|null $callback
23
     *
24
     * @return \LaravelDoctrine\Fluent\Builders\Field
25
     */
26 3
    public function dateTime($name, callable $callback = null)
27
    {
28 3
        return $this->field(Type::DATETIME, $name, $callback);
29
    }
30
31
    /**
32
     * @param string        $name
33
     * @param callable|null $callback
34
     *
35
     * @return \LaravelDoctrine\Fluent\Builders\Field
36
     */
37 3
    public function dateTimeTz($name, callable $callback = null)
38
    {
39 3
        return $this->field(Type::DATETIMETZ, $name, $callback);
40
    }
41
42
    /**
43
     * @param string        $name
44
     * @param callable|null $callback
45
     *
46
     * @return \LaravelDoctrine\Fluent\Builders\Field
47
     */
48 3
    public function time($name, callable $callback = null)
49
    {
50 3
        return $this->field(Type::TIME, $name, $callback);
51
    }
52
53
    /**
54
     * @param string        $name
55
     * @param callable|null $callback
56
     *
57
     * @return \LaravelDoctrine\Fluent\Builders\Field
58
     */
59 3
    public function carbonDateTime($name, callable $callback = null)
60
    {
61 3
        return $this->field('carbondatetime', $name, $callback);
62
    }
63
64
    /**
65
     * @param string        $name
66
     * @param callable|null $callback
67
     *
68
     * @return \LaravelDoctrine\Fluent\Builders\Field
69
     */
70 3
    public function carbonDateTimeTz($name, callable $callback = null)
71
    {
72 3
        return $this->field('carbondatetimetz', $name, $callback);
73
    }
74
75
    /**
76
     * @param string        $name
77
     * @param callable|null $callback
78
     *
79
     * @return \LaravelDoctrine\Fluent\Builders\Field
80
     */
81 3
    public function carbonDate($name, callable $callback = null)
82
    {
83 3
        return $this->field('carbondate', $name, $callback);
84
    }
85
86
    /**
87
     * @param string        $name
88
     * @param callable|null $callback
89
     *
90
     * @return \LaravelDoctrine\Fluent\Builders\Field
91
     */
92 3
    public function carbonTime($name, callable $callback = null)
93
    {
94 3
        return $this->field('carbontime', $name, $callback);
95
    }
96
97
    /**
98
     * @param string        $name
99
     * @param callable|null $callback
100
     *
101
     * @return \LaravelDoctrine\Fluent\Builders\Field
102
     */
103 3
    public function zendDate($name, callable $callback = null)
104
    {
105 3
        return $this->field('zenddate', $name, $callback);
106
    }
107
108
    /**
109
     * @param string        $name
110
     * @param callable|null $callback
111
     *
112
     * @return \LaravelDoctrine\Fluent\Builders\Field
113
     */
114 3
    public function timestamp($name, callable $callback = null)
115
    {
116 3
        return $this->carbonDateTime($name, $callback);
117
    }
118
119
    /**
120
     * @param string        $name
121
     * @param callable|null $callback
122
     *
123
     * @return \LaravelDoctrine\Fluent\Builders\Field
124
     */
125 3
    public function timestampTz($name, callable $callback = null)
126
    {
127 3
        return $this->carbonDateTimeTz($name, $callback);
128
    }
129
130
    /**
131
     * @param string        $type
132
     * @param string        $name
133
     * @param callable|null $callback
134
     *
135
     * @return \LaravelDoctrine\Fluent\Builders\Field
136
     */
137
    abstract public function field($type, $name, callable $callback = null);
138
}
139