Conditions | 1 |
Paths | 1 |
Total Lines | 3 |
Code Lines | 1 |
Lines | 0 |
Ratio | 0 % |
Tests | 2 |
CRAP Score | 1 |
Changes | 0 |
Metric | Value |
---|---|
cc | 1 |
eloc | 1 |
nc | 1 |
nop | 2 |
dl | 0 |
loc | 3 |
ccs | 2 |
cts | 2 |
cp | 1 |
crap | 1 |
rs | 10 |
c | 0 |
b | 0 |
f | 0 |
1 | <?php |
||
0 ignored issues
–
show
Coding Style
introduced
by
![]() |
|||
2 | namespace Triadev\Leopard\Business\Mapping; |
||
0 ignored issues
–
show
|
|||
3 | |||
4 | use Illuminate\Support\Fluent; |
||
5 | use Triadev\Leopard\Facade\Leopard; |
||
6 | |||
7 | class Blueprint |
||
0 ignored issues
–
show
|
|||
8 | { |
||
0 ignored issues
–
show
|
|||
9 | /** @var Fluent[] */ |
||
0 ignored issues
–
show
|
|||
10 | private $fields = []; |
||
1 ignored issue
–
show
|
|||
11 | |||
12 | /** |
||
13 | * Blueprint constructor. |
||
14 | * @param \Closure|null $callback |
||
0 ignored issues
–
show
|
|||
15 | */ |
||
16 | 13 | public function __construct(\Closure $callback = null) |
|
0 ignored issues
–
show
|
|||
17 | { |
||
18 | 13 | if (!is_null($callback)) { |
|
0 ignored issues
–
show
|
|||
19 | $callback($this); |
||
20 | } |
||
21 | 13 | } |
|
0 ignored issues
–
show
|
|||
22 | |||
23 | /** |
||
24 | * Build mapping |
||
25 | * |
||
26 | * @param string $index |
||
0 ignored issues
–
show
|
|||
27 | * @param string $type |
||
0 ignored issues
–
show
|
|||
28 | * @return array |
||
0 ignored issues
–
show
|
|||
29 | */ |
||
30 | 8 | public function build(string $index, string $type) : array |
|
31 | { |
||
32 | 8 | return Leopard::putMappingStatement([ |
|
1 ignored issue
–
show
|
|||
33 | 8 | 'index' => $index, |
|
0 ignored issues
–
show
|
|||
34 | 8 | 'type' => $type, |
|
0 ignored issues
–
show
|
|||
35 | 'body' => [ |
||
0 ignored issues
–
show
|
|||
36 | $type => [ |
||
0 ignored issues
–
show
|
|||
37 | '_source' => [ |
||
0 ignored issues
–
show
|
|||
38 | 'enabled' => true |
||
0 ignored issues
–
show
|
|||
39 | ], |
||
0 ignored issues
–
show
|
|||
40 | 8 | 'properties' => $this->toDsl() |
|
0 ignored issues
–
show
|
|||
41 | ] |
||
0 ignored issues
–
show
|
|||
42 | ] |
||
0 ignored issues
–
show
|
|||
43 | ]); |
||
0 ignored issues
–
show
For multi-line function calls, the closing parenthesis should be on a new line.
If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line: someFunctionCall(
$firstArgument,
$secondArgument,
$thirdArgument
); // Closing parenthesis on a new line.
![]() |
|||
44 | } |
||
0 ignored issues
–
show
|
|||
45 | |||
46 | /** |
||
47 | * To dsl |
||
48 | * |
||
49 | * @return array |
||
50 | */ |
||
51 | 10 | public function toDsl() : array |
|
52 | { |
||
53 | 10 | return (new Compiler())->compileFields($this->fields); |
|
54 | } |
||
0 ignored issues
–
show
|
|||
55 | |||
56 | /** |
||
57 | * Get fields |
||
58 | * |
||
59 | * @return array |
||
60 | */ |
||
61 | 3 | public function getFields() : array |
|
62 | { |
||
63 | 3 | return $this->fields; |
|
64 | } |
||
0 ignored issues
–
show
|
|||
65 | |||
66 | /** |
||
67 | * Text |
||
68 | * |
||
69 | * @param string $field |
||
0 ignored issues
–
show
|
|||
70 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
71 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
72 | */ |
||
73 | 10 | public function text(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
74 | { |
||
75 | 10 | return $this->addField('text', $field, $attributes); |
|
76 | } |
||
0 ignored issues
–
show
|
|||
77 | |||
78 | /** |
||
79 | * Keyword |
||
80 | * |
||
81 | * @param string $field |
||
0 ignored issues
–
show
|
|||
82 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
83 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
84 | */ |
||
85 | 11 | public function keyword(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
86 | { |
||
87 | 11 | return $this->addField('keyword', $field, $attributes); |
|
88 | } |
||
0 ignored issues
–
show
|
|||
89 | |||
90 | /** |
||
91 | * Long |
||
92 | * |
||
93 | * @param string $field |
||
0 ignored issues
–
show
|
|||
94 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
95 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
96 | */ |
||
97 | 1 | public function long(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
98 | { |
||
99 | 1 | return $this->addField('long', $field, $attributes); |
|
100 | } |
||
0 ignored issues
–
show
|
|||
101 | |||
102 | /** |
||
103 | * Integer |
||
104 | * |
||
105 | * @param string $field |
||
0 ignored issues
–
show
|
|||
106 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
107 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
108 | */ |
||
109 | 9 | public function integer(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
110 | { |
||
111 | 9 | return $this->addField('integer', $field, $attributes); |
|
112 | } |
||
0 ignored issues
–
show
|
|||
113 | |||
114 | /** |
||
115 | * Short |
||
116 | * |
||
117 | * @param string $field |
||
0 ignored issues
–
show
|
|||
118 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
119 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
120 | */ |
||
121 | 1 | public function short(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
122 | { |
||
123 | 1 | return $this->addField('short', $field, $attributes); |
|
124 | } |
||
0 ignored issues
–
show
|
|||
125 | |||
126 | /** |
||
127 | * Byte |
||
128 | * |
||
129 | * @param string $field |
||
0 ignored issues
–
show
|
|||
130 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
131 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
132 | */ |
||
133 | 1 | public function byte(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
134 | { |
||
135 | 1 | return $this->addField('byte', $field, $attributes); |
|
136 | } |
||
0 ignored issues
–
show
|
|||
137 | |||
138 | /** |
||
139 | * Double |
||
140 | * |
||
141 | * @param string $field |
||
0 ignored issues
–
show
|
|||
142 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
143 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
144 | */ |
||
145 | 1 | public function double(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
146 | { |
||
147 | 1 | return $this->addField('double', $field, $attributes); |
|
148 | } |
||
0 ignored issues
–
show
|
|||
149 | |||
150 | /** |
||
151 | * Float |
||
152 | * |
||
153 | * @param string $field |
||
0 ignored issues
–
show
|
|||
154 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
155 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
156 | */ |
||
157 | 1 | public function float(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
158 | { |
||
159 | 1 | return $this->addField('float', $field, $attributes); |
|
160 | } |
||
0 ignored issues
–
show
|
|||
161 | |||
162 | /** |
||
163 | * Half float |
||
164 | * |
||
165 | * @param string $field |
||
0 ignored issues
–
show
|
|||
166 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
167 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
168 | */ |
||
169 | 1 | public function halfFloat(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
170 | { |
||
171 | 1 | return $this->addField('half_float', $field, $attributes); |
|
172 | } |
||
0 ignored issues
–
show
|
|||
173 | |||
174 | /** |
||
175 | * Scaled float |
||
176 | * |
||
177 | * @param string $field |
||
0 ignored issues
–
show
|
|||
178 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
179 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
180 | */ |
||
181 | 1 | public function scaledFloat(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
182 | { |
||
183 | 1 | return $this->addField('scaled_float', $field, $attributes); |
|
184 | } |
||
0 ignored issues
–
show
|
|||
185 | |||
186 | /** |
||
187 | * Date |
||
188 | * |
||
189 | * @param string $field |
||
0 ignored issues
–
show
|
|||
190 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
191 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
192 | */ |
||
193 | 1 | public function date(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
194 | { |
||
195 | 1 | return $this->addField('date', $field, $attributes); |
|
196 | } |
||
0 ignored issues
–
show
|
|||
197 | |||
198 | /** |
||
199 | * Boolean |
||
200 | * |
||
201 | * @param string $field |
||
0 ignored issues
–
show
|
|||
202 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
203 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
204 | */ |
||
205 | 1 | public function boolean(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
206 | { |
||
207 | 1 | return $this->addField('boolean', $field, $attributes); |
|
208 | } |
||
0 ignored issues
–
show
|
|||
209 | |||
210 | /** |
||
211 | * Binary |
||
212 | * |
||
213 | * @param string $field |
||
0 ignored issues
–
show
|
|||
214 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
215 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
216 | */ |
||
217 | 1 | public function binary(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
218 | { |
||
219 | 1 | return $this->addField('binary', $field, $attributes); |
|
220 | } |
||
0 ignored issues
–
show
|
|||
221 | |||
222 | /** |
||
223 | * Range |
||
224 | * |
||
225 | * @param string $field |
||
0 ignored issues
–
show
|
|||
226 | * @param string $type |
||
0 ignored issues
–
show
|
|||
227 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
228 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
229 | * |
||
230 | * @throws \InvalidArgumentException |
||
0 ignored issues
–
show
|
|||
231 | */ |
||
232 | 2 | public function range(string $field, string $type, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
233 | { |
||
234 | $validTypes = [ |
||
235 | 2 | 'integer', |
|
0 ignored issues
–
show
|
|||
236 | 'float', |
||
0 ignored issues
–
show
|
|||
237 | 'long', |
||
0 ignored issues
–
show
|
|||
238 | 'double', |
||
0 ignored issues
–
show
|
|||
239 | 'date', |
||
0 ignored issues
–
show
|
|||
240 | 'ip' |
||
0 ignored issues
–
show
|
|||
241 | ]; |
||
0 ignored issues
–
show
|
|||
242 | |||
243 | 2 | if (!in_array($type, $validTypes)) { |
|
0 ignored issues
–
show
|
|||
244 | 1 | throw new \InvalidArgumentException(); |
|
245 | } |
||
246 | |||
247 | 1 | return $this->addField(strtolower($type) . '_range', $field, $attributes); |
|
0 ignored issues
–
show
|
|||
248 | } |
||
0 ignored issues
–
show
|
|||
249 | |||
250 | /** |
||
251 | * Nested |
||
252 | * |
||
253 | * @param string $field |
||
0 ignored issues
–
show
|
|||
254 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
255 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
256 | */ |
||
257 | 1 | public function nested(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
258 | { |
||
259 | 1 | return $this->addField('nested', $field, $attributes); |
|
260 | } |
||
0 ignored issues
–
show
|
|||
261 | |||
262 | /** |
||
263 | * Object |
||
264 | * |
||
265 | * @param string $field |
||
0 ignored issues
–
show
|
|||
266 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
267 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
268 | */ |
||
269 | 1 | public function object(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
270 | { |
||
271 | 1 | return $this->addField('object', $field, $attributes); |
|
272 | } |
||
0 ignored issues
–
show
|
|||
273 | |||
274 | /** |
||
275 | * Geo point |
||
276 | * |
||
277 | * @param string $field |
||
0 ignored issues
–
show
|
|||
278 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
279 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
280 | */ |
||
281 | 1 | public function geoPoint(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
282 | { |
||
283 | 1 | return $this->addField('geo_point', $field, $attributes); |
|
284 | } |
||
0 ignored issues
–
show
|
|||
285 | |||
286 | /** |
||
287 | * Geo shape |
||
288 | * |
||
289 | * @param string $field |
||
0 ignored issues
–
show
|
|||
290 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
291 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
292 | */ |
||
293 | 1 | public function geoShape(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
294 | { |
||
295 | 1 | return $this->addField('geo_shape', $field, $attributes); |
|
296 | } |
||
0 ignored issues
–
show
|
|||
297 | |||
298 | /** |
||
299 | * Ip |
||
300 | * |
||
301 | * @param string $field |
||
0 ignored issues
–
show
|
|||
302 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
303 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
304 | */ |
||
305 | 1 | public function ip(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
306 | { |
||
307 | 1 | return $this->addField('ip', $field, $attributes); |
|
308 | } |
||
0 ignored issues
–
show
|
|||
309 | |||
310 | /** |
||
311 | * Completion |
||
312 | * |
||
313 | * @param string $field |
||
0 ignored issues
–
show
|
|||
314 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
315 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
316 | */ |
||
317 | 1 | public function completion(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
318 | { |
||
319 | 1 | return $this->addField('completion', $field, $attributes); |
|
320 | } |
||
0 ignored issues
–
show
|
|||
321 | |||
322 | /** |
||
323 | * Token count |
||
324 | * |
||
325 | * @param string $field |
||
0 ignored issues
–
show
|
|||
326 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
327 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
328 | */ |
||
329 | 1 | public function tokenCount(string $field, array $attributes = []) : Fluent |
|
0 ignored issues
–
show
|
|||
330 | { |
||
331 | 1 | return $this->addField('token_count', $field, $attributes); |
|
332 | } |
||
0 ignored issues
–
show
|
|||
333 | |||
334 | /** |
||
335 | * Add field |
||
336 | * |
||
337 | * @param string $type |
||
0 ignored issues
–
show
|
|||
338 | * @param string $name |
||
0 ignored issues
–
show
|
|||
339 | * @param array $attributes |
||
0 ignored issues
–
show
|
|||
340 | * @return Fluent |
||
0 ignored issues
–
show
|
|||
341 | */ |
||
342 | 12 | public function addField(string $type, string $name, array $attributes = []) : Fluent |
|
2 ignored issues
–
show
|
|||
343 | { |
||
344 | 12 | $this->fields[] = $field = new Fluent( |
|
0 ignored issues
–
show
|
|||
345 | 12 | array_merge( |
|
346 | 12 | compact( |
|
347 | 12 | 'type', |
|
348 | 12 | 'name' |
|
349 | ), |
||
350 | 12 | $attributes |
|
351 | ) |
||
352 | ); |
||
353 | |||
354 | 12 | return $field; |
|
355 | } |
||
0 ignored issues
–
show
|
|||
356 | } |
||
0 ignored issues
–
show
|
|||
357 |