Completed
Pull Request — master (#22)
by Guido
13:59
created

Aliases::unsignedSmallInteger()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 2
crap 1
1
<?php
2
3
namespace LaravelDoctrine\Fluent\Builders\Traits;
4
5
use LaravelDoctrine\Fluent\Builders\Field;
6
use LogicException;
7
8
trait Aliases
9
{
10
    /**
11
     * @param string        $name
12
     * @param callable|null $callback
13
     *
14
     * @return Field
15
     */
16 5
    public function increments($name, callable $callback = null)
17
    {
18 5
        $this->disallowInEmbeddedClasses();
19
20 4
        return $this->integer($name, $callback)->primary()->unsigned()->autoIncrement();
21
    }
22
23
    /**
24
     * @param string        $name
25
     * @param callable|null $callback
26
     *
27
     * @return Field
28
     */
29 2
    public function smallIncrements($name, callable $callback = null)
30
    {
31 2
        $this->disallowInEmbeddedClasses();
32
33 1
        return $this->smallInteger($name, $callback)->primary()->unsigned()->autoIncrement();
34
    }
35
36
    /**
37
     * @param string        $name
38
     * @param callable|null $callback
39
     *
40
     * @return Field
41
     */
42 2
    public function bigIncrements($name, callable $callback = null)
43
    {
44 2
        $this->disallowInEmbeddedClasses();
45
46 1
        return $this->bigInteger($name, $callback)->primary()->unsigned()->autoIncrement();
47
    }
48
49
    /**
50
     * @param string        $name
51
     * @param callable|null $callback
52
     *
53
     * @return Field
54
     */
55 1
    public function unsignedSmallInteger($name, callable $callback = null)
56
    {
57 1
        return $this->smallInteger($name, $callback)->unsigned();
58
    }
59
60
    /**
61
     * @param string        $name
62
     * @param callable|null $callback
63
     *
64
     * @return Field
65
     */
66 1
    public function unsignedInteger($name, callable $callback = null)
67
    {
68 1
        return $this->integer($name, $callback)->unsigned();
69
    }
70
71
    /**
72
     * @param string        $name
73
     * @param callable|null $callback
74
     *
75
     * @return Field
76
     */
77 1
    public function unsignedBigInteger($name, callable $callback = null)
78
    {
79 1
        return $this->bigInteger($name, $callback)->unsigned();
80
    }
81
82
    /**
83
     * @param string        $name
84
     * @param callable|null $callback
85
     *
86
     * @return Field
87
     */
88 1
    public function rememberToken($name = 'rememberToken', callable $callback = null)
89
    {
90 1
        return $this->string($name, $callback)->nullable()->length(100);
91
    }
92
93
    /**
94
     * @param string $message
95
     * @throws \LogicException
96
     */
97
    abstract protected function disallowInEmbeddedClasses($message = "");
98
99
    /**
100
     * @param string        $name
101
     * @param callable|null $callback
102
     *
103
     * @return Field
104
     */
105
    abstract public function integer($name, callable $callback = null);
106
107
    /**
108
     * @param string        $name
109
     * @param callable|null $callback
110
     *
111
     * @return Field
112
     */
113
    abstract public function smallInteger($name, callable $callback = null);
114
115
    /**
116
     * @param string        $name
117
     * @param callable|null $callback
118
     *
119
     * @return Field
120
     */
121
    abstract public function bigInteger($name, callable $callback = null);
122
123
    /**
124
     * @param string        $name
125
     * @param callable|null $callback
126
     *
127
     * @return Field
128
     */
129
    abstract public function string($name, callable $callback = null);
130
}
131