Completed
Push — master ( 0a5559...34b953 )
by Patrick
11:12 queued 04:11
created

Fields::bigIncrements()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 8
Ratio 100 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 8
loc 8
ccs 4
cts 4
cp 1
rs 9.4286
cc 2
eloc 4
nc 2
nop 2
crap 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A Fields::smallInteger() 0 4 1
1
<?php
2
3
namespace LaravelDoctrine\Fluent\Builders\Traits;
4
5
use Doctrine\DBAL\Types\Type;
6
use LaravelDoctrine\Fluent\Buildable;
7
use LaravelDoctrine\Fluent\Builders\Field;
8
9
trait Fields
10
{
11
    /**
12
     * @param string        $type
13
     * @param string        $name
14
     * @param callable|null $callback
15
     *
16
     * @return Field
17
     */
18
    public function field($type, $name, callable $callback = null)
19 22
    {
20
        $field = Field::make($this->getBuilder(), $type, $name);
21 22
22
        $this->callbackAndQueue($field, $callback);
23 22
24
        return $field;
25 22
    }
26
27
    /**
28
     * @param string        $name
29
     * @param callable|null $callback
30
     *
31
     * @return Field
32
     */
33
    public function string($name, callable $callback = null)
34 5
    {
35
        return $this->field(Type::STRING, $name, $callback);
36 5
    }
37 1
38
    /**
39
     * @param string        $name
40 4
     * @param callable|null $callback
41
     *
42
     * @return Field
43
     */
44
    public function text($name, callable $callback = null)
45
    {
46
        return $this->field(Type::TEXT, $name, $callback);
47
    }
48
49 2
    /**
50
     * @param string        $name
51 2
     * @param callable|null $callback
52 1
     *
53
     * @return Field
54
     */
55 1
    public function integer($name, callable $callback = null)
56
    {
57
        return $this->field(Type::INTEGER, $name, $callback);
58
    }
59
60
    /**
61
     * @param string        $name
62
     * @param callable|null $callback
63
     *
64 2
     * @return Field
65
     */
66 2
    public function smallInteger($name, callable $callback = null)
67 1
    {
68
        return $this->field(Type::SMALLINT, $name, $callback);
69
    }
70 1
71
    /**
72
     * @param string        $name
73
     * @param callable|null $callback
74
     *
75
     * @return Field
76
     */
77
    public function bigInteger($name, callable $callback = null)
78
    {
79 15
        return $this->field(Type::BIGINT, $name, $callback);
80
    }
81 15
82
    /**
83
     * @param string        $name
84
     * @param callable|null $callback
85
     *
86
     * @return Field
87
     */
88
    public function guid($name, callable $callback = null)
89
    {
90 3
        return $this->field(Type::GUID, $name, $callback);
91
    }
92 3
93
    /**
94
     * @param string        $name
95
     * @param callable|null $callback
96
     *
97
     * @return Field
98
     */
99
    public function blob($name, callable $callback = null)
100
    {
101 8
        return $this->field(Type::BLOB, $name, $callback);
102
    }
103 8
104
    /**
105
     * @param string        $name
106
     * @param callable|null $callback
107
     *
108
     * @return Field
109
     */
110
    public function object($name, callable $callback = null)
111
    {
112 5
        return $this->field(Type::OBJECT, $name, $callback);
113
    }
114 5
115
    /**
116
     * @param string        $name
117
     * @param callable|null $callback
118
     *
119
     * @return Field
120
     */
121
    public function float($name, callable $callback = null)
122
    {
123 5
        return $this->field(Type::FLOAT, $name, $callback)->precision(8)->scale(2);
124
    }
125 5
126
    /**
127
     * @param string        $name
128
     * @param callable|null $callback
129
     *
130
     * @return Field
131
     */
132
    public function decimal($name, callable $callback = null)
133
    {
134 1
        return $this->field(Type::DECIMAL, $name, $callback)->precision(8)->scale(2);
135
    }
136 1
137
    /**
138
     * @param string        $name
139
     * @param callable|null $callback
140
     *
141
     * @return Field
142
     */
143
    public function boolean($name, callable $callback = null)
144
    {
145 1
        return $this->field(Type::BOOLEAN, $name, $callback);
146
    }
147 1
148
    /**
149
     * @param string        $name
150
     * @param callable|null $callback
151
     *
152
     * @return Field
153
     */
154
    public function simpleArray($name, callable $callback = null)
155
    {
156 1
        return $this->field(Type::SIMPLE_ARRAY, $name, $callback);
157
    }
158 1
159
    /**
160
     * @param string        $name
161
     * @param callable|null $callback
162
     *
163
     * @return Field
164
     */
165
    public function jsonArray($name, callable $callback = null)
166
    {
167 3
        return $this->field(Type::JSON_ARRAY, $name, $callback);
168
    }
169 3
170
    /**
171
     * @param string        $name
172
     * @param callable|null $callback
173
     *
174
     * @return Field
175
     */
176
    public function binary($name, callable $callback = null)
177
    {
178 3
        return $this->field(Type::BINARY, $name, $callback)->nullable();
179
    }
180 3
181
    /**
182
     * @return \Doctrine\ORM\Mapping\Builder\ClassMetadataBuilder
183
     */
184
    abstract public function getBuilder();
185
186
    /**
187
     * @param Buildable     $buildable
188
     * @param callable|null $callback
189 3
     */
190
    abstract protected function callbackAndQueue(Buildable $buildable, callable $callback = null);
191
}
192