@@ -1,8 +1,6 @@ |
||
1 | 1 | <?php namespace Wn\Generators\Commands; |
2 | 2 | |
3 | 3 | |
4 | -use InvalidArgumentException; |
|
5 | - |
|
6 | 4 | class ControllerCommand extends BaseCommand { |
7 | 5 | |
8 | 6 | const DEFAULT_PATH = "app/Http/Controllers"; |
@@ -5,9 +5,9 @@ discard block |
||
5 | 5 | |
6 | 6 | class ControllerCommand extends BaseCommand { |
7 | 7 | |
8 | - const DEFAULT_PATH = "app/Http/Controllers"; |
|
8 | + const DEFAULT_PATH = "app/Http/Controllers"; |
|
9 | 9 | |
10 | - protected $signature = 'wn:controller |
|
10 | + protected $signature = 'wn:controller |
|
11 | 11 | {model : Name of the model (with namespace if not App)} |
12 | 12 | {--path='.ControllerCommand::DEFAULT_PATH.' : where to store the controllers file.} |
13 | 13 | {--no-routes= : without routes} |
@@ -16,28 +16,28 @@ discard block |
||
16 | 16 | {--laravel : Use Laravel style route definitions} |
17 | 17 | '; |
18 | 18 | |
19 | - protected $description = 'Generates RESTful controller using the RESTActions trait'; |
|
19 | + protected $description = 'Generates RESTful controller using the RESTActions trait'; |
|
20 | 20 | |
21 | 21 | public function handle() |
22 | 22 | { |
23 | - $model = $this->argument('model'); |
|
24 | - $name = ''; |
|
25 | - if(strrpos($model, "\\") === false){ |
|
26 | - $name = $model; |
|
27 | - $model = "App\\" . $model; |
|
28 | - } else { |
|
29 | - $name = explode("\\", $model); |
|
30 | - $name = $name[count($name) - 1]; |
|
31 | - } |
|
23 | + $model = $this->argument('model'); |
|
24 | + $name = ''; |
|
25 | + if(strrpos($model, "\\") === false){ |
|
26 | + $name = $model; |
|
27 | + $model = "App\\" . $model; |
|
28 | + } else { |
|
29 | + $name = explode("\\", $model); |
|
30 | + $name = $name[count($name) - 1]; |
|
31 | + } |
|
32 | 32 | $controller = ucwords(str_plural($name)) . 'Controller'; |
33 | 33 | $content = $this->getTemplate('controller') |
34 | - ->with([ |
|
35 | - 'name' => $controller, |
|
36 | - 'model' => $model, |
|
37 | - 'namespace' => $this->getNamespace(), |
|
38 | - 'use' => ($this->getNamespace() != $this->getDefaultNamespace()?'use '.$this->getDefaultNamespace().'\Controller;'.PHP_EOL.'use '.$this->getDefaultNamespace().'\RESTActions;'.PHP_EOL:'') |
|
39 | - ]) |
|
40 | - ->get(); |
|
34 | + ->with([ |
|
35 | + 'name' => $controller, |
|
36 | + 'model' => $model, |
|
37 | + 'namespace' => $this->getNamespace(), |
|
38 | + 'use' => ($this->getNamespace() != $this->getDefaultNamespace()?'use '.$this->getDefaultNamespace().'\Controller;'.PHP_EOL.'use '.$this->getDefaultNamespace().'\RESTActions;'.PHP_EOL:'') |
|
39 | + ]) |
|
40 | + ->get(); |
|
41 | 41 | |
42 | 42 | $this->save($content, "./{$this->option('path')}/{$controller}.php", "{$controller}"); |
43 | 43 | |
@@ -61,8 +61,8 @@ discard block |
||
61 | 61 | } |
62 | 62 | } |
63 | 63 | |
64 | - protected function getDefaultNamespace() { |
|
65 | - return $this->getNamespace(ControllerCommand::DEFAULT_PATH); |
|
66 | - } |
|
64 | + protected function getDefaultNamespace() { |
|
65 | + return $this->getNamespace(ControllerCommand::DEFAULT_PATH); |
|
66 | + } |
|
67 | 67 | |
68 | 68 | } |
@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | |
10 | 10 | protected $signature = 'wn:controller |
11 | 11 | {model : Name of the model (with namespace if not App)} |
12 | - {--path='.ControllerCommand::DEFAULT_PATH.' : where to store the controllers file.} |
|
12 | + {--path='.ControllerCommand::DEFAULT_PATH . ' : where to store the controllers file.} |
|
13 | 13 | {--no-routes= : without routes} |
14 | 14 | {--routes= : where to store the routes.} |
15 | 15 | {--force= : override the existing files} |
@@ -22,7 +22,7 @@ discard block |
||
22 | 22 | { |
23 | 23 | $model = $this->argument('model'); |
24 | 24 | $name = ''; |
25 | - if(strrpos($model, "\\") === false){ |
|
25 | + if (strrpos($model, "\\") === false) { |
|
26 | 26 | $name = $model; |
27 | 27 | $model = "App\\" . $model; |
28 | 28 | } else { |
@@ -35,13 +35,13 @@ discard block |
||
35 | 35 | 'name' => $controller, |
36 | 36 | 'model' => $model, |
37 | 37 | 'namespace' => $this->getNamespace(), |
38 | - 'use' => ($this->getNamespace() != $this->getDefaultNamespace()?'use '.$this->getDefaultNamespace().'\Controller;'.PHP_EOL.'use '.$this->getDefaultNamespace().'\RESTActions;'.PHP_EOL:'') |
|
38 | + 'use' => ($this->getNamespace() != $this->getDefaultNamespace() ? 'use ' . $this->getDefaultNamespace() . '\Controller;' . PHP_EOL . 'use ' . $this->getDefaultNamespace() . '\RESTActions;' . PHP_EOL : '') |
|
39 | 39 | ]) |
40 | 40 | ->get(); |
41 | 41 | |
42 | 42 | $this->save($content, "./{$this->option('path')}/{$controller}.php", "{$controller}"); |
43 | 43 | |
44 | - if(! $this->option('no-routes')){ |
|
44 | + if (!$this->option('no-routes')) { |
|
45 | 45 | $options = [ |
46 | 46 | 'resource' => snake_case($name, '-'), |
47 | 47 | '--controller' => $controller, |
@@ -168,6 +168,9 @@ discard block |
||
168 | 168 | |
169 | 169 | } |
170 | 170 | |
171 | + /** |
|
172 | + * @param string $tag |
|
173 | + */ |
|
171 | 174 | protected function fieldsHavingTag($tag) |
172 | 175 | { |
173 | 176 | return array_map(function($field){ |
@@ -199,6 +202,9 @@ discard block |
||
199 | 202 | }, $this->fields); |
200 | 203 | } |
201 | 204 | |
205 | + /** |
|
206 | + * @return string |
|
207 | + */ |
|
202 | 208 | protected function getBaseModel($path) { |
203 | 209 | $index = strrpos($path, "\\"); |
204 | 210 | if($index) { |
@@ -74,9 +74,9 @@ discard block |
||
74 | 74 | '--parsed' => true |
75 | 75 | ]); |
76 | 76 | |
77 | - if (! $this->option('no-controller')) { |
|
77 | + if (!$this->option('no-controller')) { |
|
78 | 78 | // generating REST actions trait if doesn't exist |
79 | - if(! $this->fs->exists('./app/Http/Controllers/RESTActions.php')){ |
|
79 | + if (!$this->fs->exists('./app/Http/Controllers/RESTActions.php')) { |
|
80 | 80 | $this->call('wn:controller:rest-actions'); |
81 | 81 | } |
82 | 82 | |
@@ -100,8 +100,8 @@ discard block |
||
100 | 100 | |
101 | 101 | // generating model factory |
102 | 102 | $this->call('wn:factory', [ |
103 | - 'model' => $this->getNamespace().'\\'.$modelName, |
|
104 | - '--file' => './database/factories/'.str_plural($modelName).'.php', |
|
103 | + 'model' => $this->getNamespace() . '\\' . $modelName, |
|
104 | + '--file' => './database/factories/' . str_plural($modelName) . '.php', |
|
105 | 105 | '--fields' => $this->factoryFields(), |
106 | 106 | '--force' => $this->option('force'), |
107 | 107 | '--parsed' => true |
@@ -117,10 +117,10 @@ discard block |
||
117 | 117 | protected function parseFields() |
118 | 118 | { |
119 | 119 | $fields = $this->argument('fields'); |
120 | - if($this->option('parsed')){ |
|
120 | + if ($this->option('parsed')) { |
|
121 | 121 | $this->fields = $fields; |
122 | 122 | } else { |
123 | - if(! $fields){ |
|
123 | + if (!$fields) { |
|
124 | 124 | $this->fields = []; |
125 | 125 | } else { |
126 | 126 | $this->fields = $this->getArgumentParser('fields') |
@@ -151,7 +151,7 @@ discard block |
||
151 | 151 | if ($name['nullable']) { |
152 | 152 | $return['schema'][] = ['name' => 'nullable', 'args' => []]; |
153 | 153 | } else { |
154 | - $return['rules'] = 'required'.(!empty($return['rules'])?'|'.$return['rules']:''); |
|
154 | + $return['rules'] = 'required' . (!empty($return['rules']) ? '|' . $return['rules'] : ''); |
|
155 | 155 | } |
156 | 156 | } else { |
157 | 157 | $return['schema'] = [ |
@@ -170,7 +170,7 @@ discard block |
||
170 | 170 | |
171 | 171 | protected function fieldsHavingTag($tag) |
172 | 172 | { |
173 | - return array_map(function($field){ |
|
173 | + return array_map(function($field) { |
|
174 | 174 | return $field['name']; |
175 | 175 | }, array_filter($this->fields, function($field) use($tag){ |
176 | 176 | return in_array($tag, $field['tags']); |
@@ -179,19 +179,19 @@ discard block |
||
179 | 179 | |
180 | 180 | protected function rules() |
181 | 181 | { |
182 | - return array_map(function($field){ |
|
182 | + return array_map(function($field) { |
|
183 | 183 | return [ |
184 | 184 | 'name' => $field['name'], |
185 | 185 | 'rule' => $field['rules'] |
186 | 186 | ]; |
187 | - }, array_filter($this->fields, function($field){ |
|
187 | + }, array_filter($this->fields, function($field) { |
|
188 | 188 | return !empty($field['rules']); |
189 | 189 | })); |
190 | 190 | } |
191 | 191 | |
192 | 192 | protected function schema() |
193 | 193 | { |
194 | - return array_map(function($field){ |
|
194 | + return array_map(function($field) { |
|
195 | 195 | return array_merge([[ |
196 | 196 | 'name' => $field['name'], |
197 | 197 | 'args' => [] |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | |
202 | 202 | protected function getBaseModel($path) { |
203 | 203 | $index = strrpos($path, "\\"); |
204 | - if($index) { |
|
204 | + if ($index) { |
|
205 | 205 | return substr($path, $index + 1); |
206 | 206 | } |
207 | 207 | return $path; |
@@ -212,19 +212,19 @@ discard block |
||
212 | 212 | $belongsTo = $this->option('belongs-to'); |
213 | 213 | $morphTo = $this->option('morph-to'); |
214 | 214 | |
215 | - if(! $belongsTo && (! $withMorph || ! $morphTo)) { |
|
215 | + if (!$belongsTo && (!$withMorph || !$morphTo)) { |
|
216 | 216 | return []; |
217 | 217 | } |
218 | 218 | |
219 | 219 | $belongsTo = $belongsTo ? $this->getArgumentParser('relations')->parse($belongsTo) : []; |
220 | 220 | |
221 | - $belongsTo = array_map(function($relation){ |
|
221 | + $belongsTo = array_map(function($relation) { |
|
222 | 222 | return array("model" => camel_case(str_singular($this->getBaseModel($relation['model'] ? $relation['model'] : $relation['name']))), "name" => snake_case(str_singular($this->getBaseModel($relation['name']))) . '_id', "type" => "belongsTo"); |
223 | 223 | }, $belongsTo); |
224 | 224 | |
225 | 225 | if ($withMorph) { |
226 | 226 | $morphTo = $morphTo ? $this->getArgumentParser('relations-morphTo')->parse($morphTo) : []; |
227 | - $morphTo = array_map(function($relation){ |
|
227 | + $morphTo = array_map(function($relation) { |
|
228 | 228 | $name = snake_case(str_singular($relation['name'])); |
229 | 229 | return array(array("name" => $name . '_id', "type" => "morphTo", "nullable" => $relation['nullable']), array("name" => $name . '_type', "type" => "morphTo", "nullable" => $relation['nullable'])); |
230 | 230 | }, $morphTo); |
@@ -253,12 +253,12 @@ discard block |
||
253 | 253 | |
254 | 254 | protected function factoryFields() |
255 | 255 | { |
256 | - return array_map(function($field){ |
|
256 | + return array_map(function($field) { |
|
257 | 257 | return [ |
258 | 258 | 'name' => $field['name'], |
259 | 259 | 'type' => $field['factory'] |
260 | 260 | ]; |
261 | - }, array_filter($this->fields, function($field){ |
|
261 | + }, array_filter($this->fields, function($field) { |
|
262 | 262 | return isset($field['factory']) && $field['factory']; |
263 | 263 | })); |
264 | 264 | } |
@@ -291,6 +291,10 @@ discard block |
||
291 | 291 | return $string; |
292 | 292 | } |
293 | 293 | |
294 | + /** |
|
295 | + * @param string $old |
|
296 | + * @param string $new |
|
297 | + */ |
|
294 | 298 | protected function convertArray($list, $old, $new) |
295 | 299 | { |
296 | 300 | return implode($new, array_filter(explode($old, $list), function($item){ |
@@ -355,11 +359,17 @@ discard block |
||
355 | 359 | return array(array(), $seen);//, array($item) |
356 | 360 | } |
357 | 361 | |
362 | + /** |
|
363 | + * @param string $message |
|
364 | + */ |
|
358 | 365 | protected function checkError($message, $model = "", $file = "") { |
359 | 366 | $this->checkErrors[] = array("message" => $message, "model" => $model, "file" => $file); |
360 | 367 | $this->checkedErrors++; |
361 | 368 | } |
362 | 369 | |
370 | + /** |
|
371 | + * @param string $message |
|
372 | + */ |
|
363 | 373 | protected function checkInfo($message, $model = "", $file = "") { |
364 | 374 | $this->checkInfo[] = array("message" => $message, "model" => $model, "file" => $file); |
365 | 375 | } |
@@ -373,6 +383,9 @@ discard block |
||
373 | 383 | } |
374 | 384 | } |
375 | 385 | |
386 | + /** |
|
387 | + * @param string $type |
|
388 | + */ |
|
376 | 389 | protected function checkRelations($relations, $type, $file, $model, $keys) { |
377 | 390 | if ($relations) { |
378 | 391 | $position = array_search($model, $keys); |
@@ -395,6 +408,9 @@ discard block |
||
395 | 408 | } |
396 | 409 | } |
397 | 410 | |
411 | + /** |
|
412 | + * @param string $rType |
|
413 | + */ |
|
398 | 414 | protected function checkPivotRelations($relations, $rType) { |
399 | 415 | if ($relations) { |
400 | 416 | foreach($relations as $relation) { |
@@ -36,32 +36,32 @@ discard block |
||
36 | 36 | $files = $this->argument('files'); |
37 | 37 | $this->nodes = []; |
38 | 38 | foreach ($files as $file) { |
39 | - $this->info("Reading file ".$file); |
|
39 | + $this->info("Reading file ".$file); |
|
40 | 40 | |
41 | - $content = $this->fs->get($file); |
|
42 | - $content = Yaml::parse($content); |
|
41 | + $content = $this->fs->get($file); |
|
42 | + $content = Yaml::parse($content); |
|
43 | 43 | |
44 | - foreach ($content as $model => $i){ |
|
45 | - /* |
|
44 | + foreach ($content as $model => $i){ |
|
45 | + /* |
|
46 | 46 | $i['modelname'] = as originally in YAML defined |
47 | 47 | $i['name'] = as originally defined in snake_case |
48 | 48 | $i['uniquename']= for key in singular studly_case |
49 | 49 | */ |
50 | - $i['filename'] = $file; |
|
51 | - $i['modelname'] = $model; |
|
52 | - $model = studly_case(str_singular($model)); |
|
53 | - $i['uniquename'] = $model; |
|
54 | - |
|
55 | - if (empty($this->nodes[$model]) || $this->option('force-redefine')) { |
|
56 | - if (!empty($this->nodes[$model])) { |
|
57 | - $this->checkError($model . ": forced to redefine (in file " . $this->nodes[$model]['filename'] . ", redefined from file ".$file.")"); |
|
58 | - } |
|
59 | - $i = $this->getResourceParams($i); |
|
60 | - $this->nodes[$model] = $i; |
|
61 | - } else { |
|
62 | - $this->checkError($model . ": already defined (in file " . $this->nodes[$model]['filename'] . ", trying to redefine from file ".$file."; Use --force-redefine to force redefinition)"); |
|
63 | - } |
|
64 | - } |
|
50 | + $i['filename'] = $file; |
|
51 | + $i['modelname'] = $model; |
|
52 | + $model = studly_case(str_singular($model)); |
|
53 | + $i['uniquename'] = $model; |
|
54 | + |
|
55 | + if (empty($this->nodes[$model]) || $this->option('force-redefine')) { |
|
56 | + if (!empty($this->nodes[$model])) { |
|
57 | + $this->checkError($model . ": forced to redefine (in file " . $this->nodes[$model]['filename'] . ", redefined from file ".$file.")"); |
|
58 | + } |
|
59 | + $i = $this->getResourceParams($i); |
|
60 | + $this->nodes[$model] = $i; |
|
61 | + } else { |
|
62 | + $this->checkError($model . ": already defined (in file " . $this->nodes[$model]['filename'] . ", trying to redefine from file ".$file."; Use --force-redefine to force redefinition)"); |
|
63 | + } |
|
64 | + } |
|
65 | 65 | } |
66 | 66 | |
67 | 67 | $this->line(''); |
@@ -70,123 +70,123 @@ discard block |
||
70 | 70 | $this->nodes = $this->sortDependencies(); |
71 | 71 | |
72 | 72 | if (! $this->option('skip-check')) { |
73 | - $this->info('Checking Relationships...'); |
|
74 | - $keys = array_keys($this->nodes); |
|
75 | - foreach ($this->nodes as $model => $i) { |
|
76 | - $this->checkRelations($i['belongsTo'], 'belongsTo', $i['filename'], $i['uniquename'], $keys); |
|
77 | - // $this->checkRelations($i['hasManyThrough'], 'hasManyThrough', $file, $model); |
|
78 | - } |
|
79 | - $this->checkPivotRelations($this->pivotTables, 'pivot'); |
|
80 | - $this->checkPivotRelations($this->morphTables, 'morph'); |
|
73 | + $this->info('Checking Relationships...'); |
|
74 | + $keys = array_keys($this->nodes); |
|
75 | + foreach ($this->nodes as $model => $i) { |
|
76 | + $this->checkRelations($i['belongsTo'], 'belongsTo', $i['filename'], $i['uniquename'], $keys); |
|
77 | + // $this->checkRelations($i['hasManyThrough'], 'hasManyThrough', $file, $model); |
|
78 | + } |
|
79 | + $this->checkPivotRelations($this->pivotTables, 'pivot'); |
|
80 | + $this->checkPivotRelations($this->morphTables, 'morph'); |
|
81 | 81 | } |
82 | 82 | |
83 | 83 | if ($this->checkedErrors > 0) { |
84 | - $this->line(''); |
|
85 | - if ($this->option('check-only')) { |
|
86 | - $this->info('Checking only, we have found ' . $this->checkedErrors . ' errors.'); |
|
87 | - } |
|
88 | - $this->printErrors(); |
|
84 | + $this->line(''); |
|
85 | + if ($this->option('check-only')) { |
|
86 | + $this->info('Checking only, we have found ' . $this->checkedErrors . ' errors.'); |
|
87 | + } |
|
88 | + $this->printErrors(); |
|
89 | 89 | } |
90 | 90 | |
91 | 91 | $proceed = (! $this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
92 | 92 | if (! $this->option('check-only') && $this->checkedErrors > 0) { |
93 | - $this->line(''); |
|
94 | - $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
|
93 | + $this->line(''); |
|
94 | + $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
|
95 | 95 | } |
96 | 96 | if ($proceed) { |
97 | - $modelIndex = 0; |
|
97 | + $modelIndex = 0; |
|
98 | 98 | $migrationIdLength = strlen((string)count($this->nodes)); |
99 | - foreach ($this->nodes as $i) { |
|
100 | - $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
101 | - $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
102 | - |
|
103 | - $this->line(''); |
|
104 | - $this->info('Building Model ' . $i['uniquename']); |
|
105 | - |
|
106 | - $options = [ |
|
107 | - 'name' => $i['name'], |
|
108 | - 'fields' => $i['fields'], |
|
109 | - '--add' => $i['add'], |
|
110 | - '--has-many' => $i['hasMany'], |
|
111 | - '--has-one' => $i['hasOne'], |
|
112 | - '--belongs-to' => $i['belongsTo'], |
|
113 | - '--belongs-to-many' => $i['belongsToMany'], |
|
114 | - '--has-many-through' => $i['hasManyThrough'], |
|
115 | - '--morph-to' => $i['morphTo'], |
|
116 | - '--morph-many' => $i['morphMany'], |
|
117 | - '--morph-to-many' => $i['morphToMany'], |
|
118 | - '--morphed-by-many' => $i['morphedByMany'], |
|
119 | - '--no-routes' => $this->option('no-routes'), |
|
120 | - '--no-controller' => $this->option('no-controllers'), |
|
121 | - '--force' => $this->option('force'), |
|
122 | - '--migration-file' => $migrationFile, |
|
123 | - ]; |
|
124 | - if ($this->option('laravel')) { |
|
125 | - $options['--laravel'] = true; |
|
126 | - } |
|
127 | - if ($this->option('routes')) { |
|
128 | - $options['--routes'] = $this->option('routes'); |
|
129 | - } |
|
130 | - if ($this->option('controllers')) { |
|
131 | - $options['--controller'] = $this->option('controllers'); |
|
132 | - } |
|
133 | - if ($this->option('path')) { |
|
134 | - $options['--path'] = $this->option('path'); |
|
135 | - } |
|
136 | - |
|
137 | - $this->call('wn:resource', $options); |
|
138 | - $modelIndex++; |
|
139 | - } |
|
140 | - |
|
141 | - // if (!$this->option('no-migration')) { |
|
142 | - // $this->call('migrate'); // actually needed for pivot seeders ! |
|
143 | - // } |
|
144 | - |
|
145 | - $this->pivotTables = array_map( |
|
146 | - 'unserialize', |
|
147 | - array_unique(array_map('serialize', $this->pivotTables)) |
|
148 | - ); |
|
149 | - |
|
150 | - $this->line(''); |
|
151 | - foreach ($this->pivotTables as $tables) { |
|
152 | - $this->info('Building Pivot-Table ' . $tables[0] . ' - ' . $tables[1]); |
|
153 | - $this->call('wn:pivot-table', [ |
|
154 | - 'model1' => $tables[0], |
|
155 | - 'model2' => $tables[1], |
|
156 | - '--force' => $this->option('force') |
|
157 | - ]); |
|
158 | - |
|
159 | - // $this->call('wn:pivot-seeder', [ |
|
160 | - // 'model1' => $tables[0], |
|
161 | - // 'model2' => $tables[1], |
|
162 | - // '--force' => $this->option('force') |
|
163 | - // ]); |
|
164 | - } |
|
165 | - |
|
166 | - $this->morphTables = array_map( |
|
167 | - 'unserialize', |
|
168 | - array_unique(array_map('serialize', $this->morphTables)) |
|
169 | - ); |
|
170 | - |
|
171 | - $this->line(''); |
|
172 | - foreach ($this->morphTables as $tables) { |
|
173 | - $this->info('Building Morph-Table ' . $tables[0] . ' - ' . $tables[1]); |
|
174 | - $this->call('wn:morph-table', [ |
|
175 | - 'model' => $tables[0], |
|
176 | - 'morphable' => $tables[1], |
|
177 | - '--force' => $this->option('force') |
|
178 | - ]); |
|
179 | - |
|
180 | - // $this->call('wn:pivot-seeder', [ |
|
181 | - // 'model1' => $tables[0], |
|
182 | - // 'model2' => $tables[1], |
|
183 | - // '--force' => $this->option('force') |
|
184 | - // ]); |
|
185 | - } |
|
186 | - |
|
187 | - if (!$this->option('no-migration')) { |
|
188 | - $this->call('migrate'); |
|
189 | - } |
|
99 | + foreach ($this->nodes as $i) { |
|
100 | + $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
101 | + $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
102 | + |
|
103 | + $this->line(''); |
|
104 | + $this->info('Building Model ' . $i['uniquename']); |
|
105 | + |
|
106 | + $options = [ |
|
107 | + 'name' => $i['name'], |
|
108 | + 'fields' => $i['fields'], |
|
109 | + '--add' => $i['add'], |
|
110 | + '--has-many' => $i['hasMany'], |
|
111 | + '--has-one' => $i['hasOne'], |
|
112 | + '--belongs-to' => $i['belongsTo'], |
|
113 | + '--belongs-to-many' => $i['belongsToMany'], |
|
114 | + '--has-many-through' => $i['hasManyThrough'], |
|
115 | + '--morph-to' => $i['morphTo'], |
|
116 | + '--morph-many' => $i['morphMany'], |
|
117 | + '--morph-to-many' => $i['morphToMany'], |
|
118 | + '--morphed-by-many' => $i['morphedByMany'], |
|
119 | + '--no-routes' => $this->option('no-routes'), |
|
120 | + '--no-controller' => $this->option('no-controllers'), |
|
121 | + '--force' => $this->option('force'), |
|
122 | + '--migration-file' => $migrationFile, |
|
123 | + ]; |
|
124 | + if ($this->option('laravel')) { |
|
125 | + $options['--laravel'] = true; |
|
126 | + } |
|
127 | + if ($this->option('routes')) { |
|
128 | + $options['--routes'] = $this->option('routes'); |
|
129 | + } |
|
130 | + if ($this->option('controllers')) { |
|
131 | + $options['--controller'] = $this->option('controllers'); |
|
132 | + } |
|
133 | + if ($this->option('path')) { |
|
134 | + $options['--path'] = $this->option('path'); |
|
135 | + } |
|
136 | + |
|
137 | + $this->call('wn:resource', $options); |
|
138 | + $modelIndex++; |
|
139 | + } |
|
140 | + |
|
141 | + // if (!$this->option('no-migration')) { |
|
142 | + // $this->call('migrate'); // actually needed for pivot seeders ! |
|
143 | + // } |
|
144 | + |
|
145 | + $this->pivotTables = array_map( |
|
146 | + 'unserialize', |
|
147 | + array_unique(array_map('serialize', $this->pivotTables)) |
|
148 | + ); |
|
149 | + |
|
150 | + $this->line(''); |
|
151 | + foreach ($this->pivotTables as $tables) { |
|
152 | + $this->info('Building Pivot-Table ' . $tables[0] . ' - ' . $tables[1]); |
|
153 | + $this->call('wn:pivot-table', [ |
|
154 | + 'model1' => $tables[0], |
|
155 | + 'model2' => $tables[1], |
|
156 | + '--force' => $this->option('force') |
|
157 | + ]); |
|
158 | + |
|
159 | + // $this->call('wn:pivot-seeder', [ |
|
160 | + // 'model1' => $tables[0], |
|
161 | + // 'model2' => $tables[1], |
|
162 | + // '--force' => $this->option('force') |
|
163 | + // ]); |
|
164 | + } |
|
165 | + |
|
166 | + $this->morphTables = array_map( |
|
167 | + 'unserialize', |
|
168 | + array_unique(array_map('serialize', $this->morphTables)) |
|
169 | + ); |
|
170 | + |
|
171 | + $this->line(''); |
|
172 | + foreach ($this->morphTables as $tables) { |
|
173 | + $this->info('Building Morph-Table ' . $tables[0] . ' - ' . $tables[1]); |
|
174 | + $this->call('wn:morph-table', [ |
|
175 | + 'model' => $tables[0], |
|
176 | + 'morphable' => $tables[1], |
|
177 | + '--force' => $this->option('force') |
|
178 | + ]); |
|
179 | + |
|
180 | + // $this->call('wn:pivot-seeder', [ |
|
181 | + // 'model1' => $tables[0], |
|
182 | + // 'model2' => $tables[1], |
|
183 | + // '--force' => $this->option('force') |
|
184 | + // ]); |
|
185 | + } |
|
186 | + |
|
187 | + if (!$this->option('no-migration')) { |
|
188 | + $this->call('migrate'); |
|
189 | + } |
|
190 | 190 | } |
191 | 191 | } |
192 | 192 | |
@@ -328,10 +328,10 @@ discard block |
||
328 | 328 | $deps = $this->getArgumentParser('relations')->parse($this->nodes[$key]['belongsTo']); |
329 | 329 | foreach($deps as $dependency) { |
330 | 330 | if(! $dependency['model']){ |
331 | - $dependency['model'] = $dependency['name']; |
|
332 | - } else if(strpos($dependency['model'], '\\') !== false ){ |
|
333 | - $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); |
|
334 | - } |
|
331 | + $dependency['model'] = $dependency['name']; |
|
332 | + } else if(strpos($dependency['model'], '\\') !== false ){ |
|
333 | + $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); |
|
334 | + } |
|
335 | 335 | $dependency['model'] = studly_case(str_singular($dependency['model'])); |
336 | 336 | if ($dependency['model'] != $key) { |
337 | 337 | $tmp = $this->getDependencies($dependency['model'], $seen); |
@@ -36,12 +36,12 @@ discard block |
||
36 | 36 | $files = $this->argument('files'); |
37 | 37 | $this->nodes = []; |
38 | 38 | foreach ($files as $file) { |
39 | - $this->info("Reading file ".$file); |
|
39 | + $this->info("Reading file " . $file); |
|
40 | 40 | |
41 | 41 | $content = $this->fs->get($file); |
42 | 42 | $content = Yaml::parse($content); |
43 | 43 | |
44 | - foreach ($content as $model => $i){ |
|
44 | + foreach ($content as $model => $i) { |
|
45 | 45 | /* |
46 | 46 | $i['modelname'] = as originally in YAML defined |
47 | 47 | $i['name'] = as originally defined in snake_case |
@@ -54,12 +54,12 @@ discard block |
||
54 | 54 | |
55 | 55 | if (empty($this->nodes[$model]) || $this->option('force-redefine')) { |
56 | 56 | if (!empty($this->nodes[$model])) { |
57 | - $this->checkError($model . ": forced to redefine (in file " . $this->nodes[$model]['filename'] . ", redefined from file ".$file.")"); |
|
57 | + $this->checkError($model . ": forced to redefine (in file " . $this->nodes[$model]['filename'] . ", redefined from file " . $file . ")"); |
|
58 | 58 | } |
59 | 59 | $i = $this->getResourceParams($i); |
60 | 60 | $this->nodes[$model] = $i; |
61 | 61 | } else { |
62 | - $this->checkError($model . ": already defined (in file " . $this->nodes[$model]['filename'] . ", trying to redefine from file ".$file."; Use --force-redefine to force redefinition)"); |
|
62 | + $this->checkError($model . ": already defined (in file " . $this->nodes[$model]['filename'] . ", trying to redefine from file " . $file . "; Use --force-redefine to force redefinition)"); |
|
63 | 63 | } |
64 | 64 | } |
65 | 65 | } |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | |
70 | 70 | $this->nodes = $this->sortDependencies(); |
71 | 71 | |
72 | - if (! $this->option('skip-check')) { |
|
72 | + if (!$this->option('skip-check')) { |
|
73 | 73 | $this->info('Checking Relationships...'); |
74 | 74 | $keys = array_keys($this->nodes); |
75 | 75 | foreach ($this->nodes as $model => $i) { |
@@ -88,17 +88,17 @@ discard block |
||
88 | 88 | $this->printErrors(); |
89 | 89 | } |
90 | 90 | |
91 | - $proceed = (! $this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
|
92 | - if (! $this->option('check-only') && $this->checkedErrors > 0) { |
|
91 | + $proceed = (!$this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
|
92 | + if (!$this->option('check-only') && $this->checkedErrors > 0) { |
|
93 | 93 | $this->line(''); |
94 | 94 | $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
95 | 95 | } |
96 | 96 | if ($proceed) { |
97 | 97 | $modelIndex = 0; |
98 | - $migrationIdLength = strlen((string)count($this->nodes)); |
|
98 | + $migrationIdLength = strlen((string) count($this->nodes)); |
|
99 | 99 | foreach ($this->nodes as $i) { |
100 | - $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
101 | - $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
100 | + $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
101 | + $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex, $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
102 | 102 | |
103 | 103 | $this->line(''); |
104 | 104 | $this->info('Building Model ' . $i['uniquename']); |
@@ -199,39 +199,39 @@ discard block |
||
199 | 199 | $i['modelname'] = $i['modelname']; |
200 | 200 | $i['uniquename'] = $i['uniquename']; |
201 | 201 | |
202 | - foreach(['hasMany', 'hasOne', 'add', 'belongsTo', 'belongsToMany', 'hasManyThrough', 'morphTo', 'morphMany', 'morphToMany', 'morphedByMany'] as $relation){ |
|
203 | - if(isset($i[$relation])){ |
|
202 | + foreach (['hasMany', 'hasOne', 'add', 'belongsTo', 'belongsToMany', 'hasManyThrough', 'morphTo', 'morphMany', 'morphToMany', 'morphedByMany'] as $relation) { |
|
203 | + if (isset($i[$relation])) { |
|
204 | 204 | $i[$relation] = $this->convertArray($i[$relation], ' ', ','); |
205 | 205 | } else { |
206 | 206 | $i[$relation] = false; |
207 | 207 | } |
208 | 208 | } |
209 | 209 | |
210 | - if($i['belongsToMany']){ |
|
210 | + if ($i['belongsToMany']) { |
|
211 | 211 | $relations = $this->getArgumentParser('relations')->parse($i['belongsToMany']); |
212 | - foreach ($relations as $relation){ |
|
212 | + foreach ($relations as $relation) { |
|
213 | 213 | $table = ''; |
214 | 214 | |
215 | - if(! $relation['model']){ |
|
215 | + if (!$relation['model']) { |
|
216 | 216 | $table = snake_case($relation['name']); |
217 | 217 | } else { |
218 | 218 | $names = array_reverse(explode("\\", $relation['model'])); |
219 | 219 | $table = snake_case($names[0]); |
220 | 220 | } |
221 | 221 | |
222 | - $tables = [ str_singular($table), $i['name'] ]; |
|
222 | + $tables = [str_singular($table), $i['name']]; |
|
223 | 223 | sort($tables); |
224 | 224 | $tables[] = $modelName; |
225 | 225 | $this->pivotTables[] = $tables; |
226 | 226 | } |
227 | 227 | } |
228 | 228 | |
229 | - if($i['morphToMany']){ |
|
229 | + if ($i['morphToMany']) { |
|
230 | 230 | $relations = $this->getArgumentParser('relations-morphMany')->parse($i['morphToMany']); |
231 | - foreach ($relations as $relation){ |
|
231 | + foreach ($relations as $relation) { |
|
232 | 232 | $table = ''; |
233 | 233 | |
234 | - if(! $relation['through']){ |
|
234 | + if (!$relation['through']) { |
|
235 | 235 | $names = array_reverse(explode("\\", $relation['model'])); |
236 | 236 | $morphable = snake_case($names[0]); |
237 | 237 | $model = snake_case($relation['name']); |
@@ -242,17 +242,17 @@ discard block |
||
242 | 242 | $model = snake_case($names[0]); |
243 | 243 | } |
244 | 244 | |
245 | - $tables = [ str_singular($model), str_singular($morphable), $modelName ]; |
|
245 | + $tables = [str_singular($model), str_singular($morphable), $modelName]; |
|
246 | 246 | $this->morphTables[] = $tables; |
247 | 247 | } |
248 | 248 | } |
249 | 249 | |
250 | - if($i['morphedByMany']){ |
|
250 | + if ($i['morphedByMany']) { |
|
251 | 251 | $relations = $this->getArgumentParser('relations-morphMany')->parse($i['morphedByMany']); |
252 | - foreach ($relations as $relation){ |
|
252 | + foreach ($relations as $relation) { |
|
253 | 253 | $table = ''; |
254 | 254 | |
255 | - if(! $relation['through']){ |
|
255 | + if (!$relation['through']) { |
|
256 | 256 | $names = array_reverse(explode("\\", $relation['model'])); |
257 | 257 | $morphable = snake_case($names[0]); |
258 | 258 | } else { |
@@ -260,13 +260,13 @@ discard block |
||
260 | 260 | $morphable = snake_case($names[0]); |
261 | 261 | } |
262 | 262 | |
263 | - $tables = [ str_singular($i['name']), str_singular($morphable), $modelName ]; |
|
263 | + $tables = [str_singular($i['name']), str_singular($morphable), $modelName]; |
|
264 | 264 | $this->morphTables[] = $tables; |
265 | 265 | } |
266 | 266 | } |
267 | 267 | |
268 | 268 | $fields = []; |
269 | - foreach($i['fields'] as $name => $value) { |
|
269 | + foreach ($i['fields'] as $name => $value) { |
|
270 | 270 | $value['name'] = $name; |
271 | 271 | $fields[] = $this->serializeField($value); |
272 | 272 | } |
@@ -284,7 +284,7 @@ discard block |
||
284 | 284 | |
285 | 285 | $string = "{$name};{$schema};{$rules};{$tags}"; |
286 | 286 | |
287 | - if(isset($field['factory']) && !empty($field['factory'])){ |
|
287 | + if (isset($field['factory']) && !empty($field['factory'])) { |
|
288 | 288 | $string .= ';' . $field['factory']; |
289 | 289 | } |
290 | 290 | |
@@ -293,7 +293,7 @@ discard block |
||
293 | 293 | |
294 | 294 | protected function convertArray($list, $old, $new) |
295 | 295 | { |
296 | - return implode($new, array_filter(explode($old, $list), function($item){ |
|
296 | + return implode($new, array_filter(explode($old, $list), function($item) { |
|
297 | 297 | return !empty($item); |
298 | 298 | })); |
299 | 299 | } |
@@ -302,7 +302,7 @@ discard block |
||
302 | 302 | $load_order = array(); |
303 | 303 | $seen = array(); |
304 | 304 | |
305 | - foreach($this->nodes as $key => $item) { |
|
305 | + foreach ($this->nodes as $key => $item) { |
|
306 | 306 | $tmp = $this->getDependencies($key, $seen); |
307 | 307 | |
308 | 308 | // if($tmp[2] === false) { |
@@ -315,22 +315,22 @@ discard block |
||
315 | 315 | } |
316 | 316 | |
317 | 317 | private function getDependencies($key, $seen = array()) { |
318 | - if(array_key_exists($key, $seen) == true) { |
|
318 | + if (array_key_exists($key, $seen) == true) { |
|
319 | 319 | return array(array(), $seen); |
320 | 320 | } |
321 | 321 | |
322 | 322 | |
323 | - if(!empty($this->nodes[$key])) { |
|
323 | + if (!empty($this->nodes[$key])) { |
|
324 | 324 | $order = array(); |
325 | 325 | // $failed = array(); |
326 | 326 | |
327 | - if($this->nodes[$key]['belongsTo']) { |
|
327 | + if ($this->nodes[$key]['belongsTo']) { |
|
328 | 328 | $deps = $this->getArgumentParser('relations')->parse($this->nodes[$key]['belongsTo']); |
329 | - foreach($deps as $dependency) { |
|
330 | - if(! $dependency['model']){ |
|
329 | + foreach ($deps as $dependency) { |
|
330 | + if (!$dependency['model']) { |
|
331 | 331 | $dependency['model'] = $dependency['name']; |
332 | - } else if(strpos($dependency['model'], '\\') !== false ){ |
|
333 | - $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); |
|
332 | + } else if (strpos($dependency['model'], '\\') !== false) { |
|
333 | + $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\') + 1); |
|
334 | 334 | } |
335 | 335 | $dependency['model'] = studly_case(str_singular($dependency['model'])); |
336 | 336 | if ($dependency['model'] != $key) { |
@@ -349,10 +349,10 @@ discard block |
||
349 | 349 | $order[$key] = $this->nodes[$key]; |
350 | 350 | // $failed = (count($failed) > 0) ? $failed : false; |
351 | 351 | |
352 | - return array($order, $seen);//, $failed |
|
352 | + return array($order, $seen); //, $failed |
|
353 | 353 | } |
354 | 354 | |
355 | - return array(array(), $seen);//, array($item) |
|
355 | + return array(array(), $seen); //, array($item) |
|
356 | 356 | } |
357 | 357 | |
358 | 358 | protected function checkError($message, $model = "", $file = "") { |
@@ -377,10 +377,10 @@ discard block |
||
377 | 377 | if ($relations) { |
378 | 378 | $position = array_search($model, $keys); |
379 | 379 | $relations = $this->getArgumentParser('relations')->parse($relations); |
380 | - foreach($relations as $relation) { |
|
381 | - switch($type) { |
|
380 | + foreach ($relations as $relation) { |
|
381 | + switch ($type) { |
|
382 | 382 | case "belongsTo": |
383 | - $rModel = $relation['model']?$relation['model']:$relation['name']; break; |
|
383 | + $rModel = $relation['model'] ? $relation['model'] : $relation['name']; break; |
|
384 | 384 | } |
385 | 385 | |
386 | 386 | $search = array_search(studly_case(str_singular($rModel)), $keys); |
@@ -397,7 +397,7 @@ discard block |
||
397 | 397 | |
398 | 398 | protected function checkPivotRelations($relations, $rType) { |
399 | 399 | if ($relations) { |
400 | - foreach($relations as $relation) { |
|
400 | + foreach ($relations as $relation) { |
|
401 | 401 | $relation['0'] = studly_case(str_singular($relation['0'])); |
402 | 402 | $relation['1'] = studly_case(str_singular($relation['1'])); |
403 | 403 | $relation['2'] = studly_case(str_singular($relation['2'])); |
@@ -11,6 +11,6 @@ |
||
11 | 11 | | |
12 | 12 | */ |
13 | 13 | |
14 | -$router->get("/", function () use ($router) { |
|
14 | +$router->get("/", function() use ($router) { |
|
15 | 15 | return 'Hello World'; |
16 | 16 | }); |
@@ -1,9 +1,9 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | -require_once __DIR__.'/../vendor/autoload.php'; |
|
3 | +require_once __DIR__ . '/../vendor/autoload.php'; |
|
4 | 4 | |
5 | 5 | try { |
6 | - (new Dotenv\Dotenv(__DIR__.'/../'))->load(); |
|
6 | + (new Dotenv\Dotenv(__DIR__ . '/../'))->load(); |
|
7 | 7 | } catch (Dotenv\Exception\InvalidPathException $e) { |
8 | 8 | // |
9 | 9 | } |
@@ -20,7 +20,7 @@ discard block |
||
20 | 20 | */ |
21 | 21 | |
22 | 22 | $app = new Laravel\Lumen\Application( |
23 | - realpath(__DIR__.'/../') |
|
23 | + realpath(__DIR__ . '/../') |
|
24 | 24 | ); |
25 | 25 | |
26 | 26 | $app->withFacades(); |
@@ -98,8 +98,8 @@ discard block |
||
98 | 98 | |
99 | 99 | $app->router->group([ |
100 | 100 | 'namespace' => 'App\Http\Controllers', |
101 | -], function ($router) { |
|
102 | - require __DIR__.'/../app/Http/routes.php'; |
|
101 | +], function($router) { |
|
102 | + require __DIR__ . '/../app/Http/routes.php'; |
|
103 | 103 | }); |
104 | 104 | |
105 | 105 | return $app; |
@@ -14,10 +14,10 @@ discard block |
||
14 | 14 | $I->seeInThisFile('protected $fillable = ["name", "descr", "due", "project_id", "creator_id"];'); |
15 | 15 | $I->seeInThisFile('protected $dates = ["due"];'); |
16 | 16 | $I->seeInThisFile( |
17 | -"public static \$rules = [\n". |
|
17 | +"public static \$rules = [\n" . |
|
18 | 18 | " \"name\" => \"requied\"," . PHP_EOL . |
19 | 19 | " \"project_id\" => \"required|numeric\"," . PHP_EOL . |
20 | -" \"creator_id\" => \"required|numeric\",\n". |
|
20 | +" \"creator_id\" => \"required|numeric\",\n" . |
|
21 | 21 | " ];"); |
22 | 22 | $I->seeInThisFile( |
23 | 23 | ' public function tags() |
@@ -47,19 +47,19 @@ discard block |
||
47 | 47 | $I->openFile('./database/migrations/create_task_categories.php'); |
48 | 48 | |
49 | 49 | $I->seeInThisFile('class CreateTaskCategoriesTable extends Migration'); |
50 | -$I->seeInThisFile("Schema::create('task_categories', function(Blueprint \$table) {\n". |
|
51 | -" \$table->increments('id');\n". |
|
50 | +$I->seeInThisFile("Schema::create('task_categories', function(Blueprint \$table) {\n" . |
|
51 | +" \$table->increments('id');\n" . |
|
52 | 52 | " \$table->string('name')->unique();" . PHP_EOL . |
53 | 53 | " \$table->text('descr')->nullable();" . PHP_EOL . |
54 | 54 | " \$table->timestamp('due');" . PHP_EOL . |
55 | -" \$table->integer('project_id')->unsigned();" . PHP_EOL. |
|
55 | +" \$table->integer('project_id')->unsigned();" . PHP_EOL . |
|
56 | 56 | " \$table->integer('creator_id')->unsigned();\n" . |
57 | -" \$table->foreign('project_id')\n". |
|
58 | -" ->references('id')\n". |
|
57 | +" \$table->foreign('project_id')\n" . |
|
58 | +" ->references('id')\n" . |
|
59 | 59 | " ->on('projects');" . PHP_EOL . |
60 | -" \$table->foreign('creator_id')\n". |
|
61 | -" ->references('id')\n". |
|
62 | -" ->on('users');\n". |
|
60 | +" \$table->foreign('creator_id')\n" . |
|
61 | +" ->references('id')\n" . |
|
62 | +" ->on('users');\n" . |
|
63 | 63 | " \$table->timestamps();"); |
64 | 64 | |
65 | 65 | $I->deleteFile('./database/migrations/create_task_categories.php'); |
@@ -22,92 +22,92 @@ |
||
22 | 22 | // registerTestCommand |
23 | 23 | } |
24 | 24 | |
25 | - protected function registerModelCommand(){ |
|
26 | - $this->app->singleton('command.wn.model', function($app){ |
|
25 | + protected function registerModelCommand() { |
|
26 | + $this->app->singleton('command.wn.model', function($app) { |
|
27 | 27 | return $app['Wn\Generators\Commands\ModelCommand']; |
28 | 28 | }); |
29 | 29 | $this->commands('command.wn.model'); |
30 | 30 | } |
31 | 31 | |
32 | - protected function registerControllerRestActionsCommand(){ |
|
33 | - $this->app->singleton('command.wn.controller.rest-actions', function($app){ |
|
32 | + protected function registerControllerRestActionsCommand() { |
|
33 | + $this->app->singleton('command.wn.controller.rest-actions', function($app) { |
|
34 | 34 | return $app['Wn\Generators\Commands\ControllerRestActionsCommand']; |
35 | 35 | }); |
36 | 36 | $this->commands('command.wn.controller.rest-actions'); |
37 | 37 | } |
38 | 38 | |
39 | - protected function registerControllerCommand(){ |
|
40 | - $this->app->singleton('command.wn.controller', function($app){ |
|
39 | + protected function registerControllerCommand() { |
|
40 | + $this->app->singleton('command.wn.controller', function($app) { |
|
41 | 41 | return $app['Wn\Generators\Commands\ControllerCommand']; |
42 | 42 | }); |
43 | 43 | $this->commands('command.wn.controller'); |
44 | 44 | } |
45 | 45 | |
46 | - protected function registerMigrationCommand(){ |
|
47 | - $this->app->singleton('command.wn.migration', function($app){ |
|
46 | + protected function registerMigrationCommand() { |
|
47 | + $this->app->singleton('command.wn.migration', function($app) { |
|
48 | 48 | return $app['Wn\Generators\Commands\MigrationCommand']; |
49 | 49 | }); |
50 | 50 | $this->commands('command.wn.migration'); |
51 | 51 | } |
52 | 52 | |
53 | - protected function registerRouteCommand(){ |
|
54 | - $this->app->singleton('command.wn.route', function($app){ |
|
53 | + protected function registerRouteCommand() { |
|
54 | + $this->app->singleton('command.wn.route', function($app) { |
|
55 | 55 | return $app['Wn\Generators\Commands\RouteCommand']; |
56 | 56 | }); |
57 | 57 | $this->commands('command.wn.route'); |
58 | 58 | } |
59 | 59 | |
60 | - protected function registerTestCommand(){ |
|
61 | - $this->app->singleton('command.wn.test', function($app){ |
|
60 | + protected function registerTestCommand() { |
|
61 | + $this->app->singleton('command.wn.test', function($app) { |
|
62 | 62 | return $app['Wn\Generators\Commands\TestCommand']; |
63 | 63 | }); |
64 | 64 | $this->commands('command.wn.test'); |
65 | 65 | } |
66 | 66 | |
67 | - protected function registerResourceCommand(){ |
|
68 | - $this->app->singleton('command.wn.resource', function($app){ |
|
67 | + protected function registerResourceCommand() { |
|
68 | + $this->app->singleton('command.wn.resource', function($app) { |
|
69 | 69 | return $app['Wn\Generators\Commands\ResourceCommand']; |
70 | 70 | }); |
71 | 71 | $this->commands('command.wn.resource'); |
72 | 72 | } |
73 | 73 | |
74 | - protected function registerResourcesCommand(){ |
|
75 | - $this->app->singleton('command.wn.resources', function($app){ |
|
74 | + protected function registerResourcesCommand() { |
|
75 | + $this->app->singleton('command.wn.resources', function($app) { |
|
76 | 76 | return $app['Wn\Generators\Commands\ResourcesCommand']; |
77 | 77 | }); |
78 | 78 | $this->commands('command.wn.resources'); |
79 | 79 | } |
80 | 80 | |
81 | - protected function registerPivotTableCommand(){ |
|
82 | - $this->app->singleton('command.wn.pivot-table', function($app){ |
|
81 | + protected function registerPivotTableCommand() { |
|
82 | + $this->app->singleton('command.wn.pivot-table', function($app) { |
|
83 | 83 | return $app['Wn\Generators\Commands\PivotTableCommand']; |
84 | 84 | }); |
85 | 85 | $this->commands('command.wn.pivot-table'); |
86 | 86 | } |
87 | 87 | |
88 | - protected function registerMorphTableCommand(){ |
|
89 | - $this->app->singleton('command.wn.morph-table', function($app){ |
|
88 | + protected function registerMorphTableCommand() { |
|
89 | + $this->app->singleton('command.wn.morph-table', function($app) { |
|
90 | 90 | return $app['Wn\Generators\Commands\MorphTableCommand']; |
91 | 91 | }); |
92 | 92 | $this->commands('command.wn.morph-table'); |
93 | 93 | } |
94 | 94 | |
95 | - protected function registerFactoryCommand(){ |
|
96 | - $this->app->singleton('command.wn.factory', function($app){ |
|
95 | + protected function registerFactoryCommand() { |
|
96 | + $this->app->singleton('command.wn.factory', function($app) { |
|
97 | 97 | return $app['Wn\Generators\Commands\FactoryCommand']; |
98 | 98 | }); |
99 | 99 | $this->commands('command.wn.factory'); |
100 | 100 | } |
101 | 101 | |
102 | - protected function registerSeederCommand(){ |
|
103 | - $this->app->singleton('command.wn.seeder', function($app){ |
|
102 | + protected function registerSeederCommand() { |
|
103 | + $this->app->singleton('command.wn.seeder', function($app) { |
|
104 | 104 | return $app['Wn\Generators\Commands\SeederCommand']; |
105 | 105 | }); |
106 | 106 | $this->commands('command.wn.seeder'); |
107 | 107 | } |
108 | 108 | |
109 | - protected function registerPivotSeederCommand(){ |
|
110 | - $this->app->singleton('command.wn.pivot.seeder', function($app){ |
|
109 | + protected function registerPivotSeederCommand() { |
|
110 | + $this->app->singleton('command.wn.pivot.seeder', function($app) { |
|
111 | 111 | return $app['Wn\Generators\Commands\PivotSeederCommand']; |
112 | 112 | }); |
113 | 113 | $this->commands('command.wn.pivot.seeder'); |
@@ -24,8 +24,8 @@ discard block |
||
24 | 24 | $snakeName = snake_case($name); |
25 | 25 | |
26 | 26 | $file = $this->option('file'); |
27 | - if(! $file){ |
|
28 | - $name = "Migration".sprintf('%06d', self::$COUNTER++) . $name; |
|
27 | + if (!$file) { |
|
28 | + $name = "Migration" . sprintf('%06d', self::$COUNTER++) . $name; |
|
29 | 29 | $file = date('Y_m_d_His_') . snake_case($name) . '_table'; |
30 | 30 | } |
31 | 31 | |
@@ -40,10 +40,10 @@ discard block |
||
40 | 40 | ->get(); |
41 | 41 | |
42 | 42 | $file = $this->option('file'); |
43 | - if(! $file){ |
|
43 | + if (!$file) { |
|
44 | 44 | $file = date('Y_m_d_His_') . $snakeName . '_table'; |
45 | 45 | $this->deleteOldMigration($snakeName); |
46 | - }else{ |
|
46 | + } else { |
|
47 | 47 | $this->deleteOldMigration($file); |
48 | 48 | } |
49 | 49 | |
@@ -52,10 +52,10 @@ discard block |
||
52 | 52 | |
53 | 53 | protected function deleteOldMigration($fileName) |
54 | 54 | { |
55 | - foreach (new \DirectoryIterator("./database/migrations/") as $fileInfo){ |
|
56 | - if($fileInfo->isDot()) continue; |
|
55 | + foreach (new \DirectoryIterator("./database/migrations/") as $fileInfo) { |
|
56 | + if ($fileInfo->isDot()) continue; |
|
57 | 57 | |
58 | - if(strpos($fileInfo->getFilename(), $fileName) !== FALSE){ |
|
58 | + if (strpos($fileInfo->getFilename(), $fileName) !== FALSE) { |
|
59 | 59 | unlink($fileInfo->getPathname()); |
60 | 60 | } |
61 | 61 | } |
@@ -64,12 +64,12 @@ discard block |
||
64 | 64 | protected function getSchema() |
65 | 65 | { |
66 | 66 | $schema = $this->option('schema'); |
67 | - if(! $schema){ |
|
67 | + if (!$schema) { |
|
68 | 68 | return $this->spaces(12) . "// Schema declaration"; |
69 | 69 | } |
70 | 70 | |
71 | 71 | $items = $schema; |
72 | - if( ! $this->option('parsed')){ |
|
72 | + if (!$this->option('parsed')) { |
|
73 | 73 | $items = $this->getArgumentParser('schema')->parse($schema); |
74 | 74 | } |
75 | 75 | |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | $name = $parts[0]['name']; |
104 | 104 | $parts[1]['args'] = array_merge(["'{$name}'"], $parts[1]['args']); |
105 | 105 | unset($parts[0]); |
106 | - $parts = array_map(function($part){ |
|
106 | + $parts = array_map(function($part) { |
|
107 | 107 | return '->' . $part['name'] . '(' . implode(', ', $part['args']) . ')'; |
108 | 108 | }, $parts); |
109 | 109 | return " \$table" . implode('', $parts) . ';'; |
@@ -112,12 +112,12 @@ discard block |
||
112 | 112 | protected function getConstraints() |
113 | 113 | { |
114 | 114 | $keys = $this->option('keys'); |
115 | - if(! $keys){ |
|
115 | + if (!$keys) { |
|
116 | 116 | return $this->spaces(12) . "// Constraints declaration"; |
117 | 117 | } |
118 | 118 | |
119 | 119 | $items = $keys; |
120 | - if(! $this->option('parsed')){ |
|
120 | + if (!$this->option('parsed')) { |
|
121 | 121 | $items = $this->getArgumentParser('foreign-keys')->parse($keys); |
122 | 122 | } |
123 | 123 | |
@@ -131,10 +131,10 @@ discard block |
||
131 | 131 | |
132 | 132 | protected function getConstraintDeclaration($key) |
133 | 133 | { |
134 | - if(! $key['column']){ |
|
134 | + if (!$key['column']) { |
|
135 | 135 | $key['column'] = 'id'; |
136 | 136 | } |
137 | - if(! $key['table']){ |
|
137 | + if (!$key['table']) { |
|
138 | 138 | $key['table'] = substr($key['name'], 0, count($key['name']) - 4); |
139 | 139 | } |
140 | 140 | |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | ]) |
147 | 147 | ->get(); |
148 | 148 | |
149 | - if($key['on_delete']){ |
|
149 | + if ($key['on_delete']) { |
|
150 | 150 | $constraint .= PHP_EOL . $this->getTemplate('migration/on-constraint') |
151 | 151 | ->with([ |
152 | 152 | 'event' => 'Delete', |
@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | ->get(); |
156 | 156 | } |
157 | 157 | |
158 | - if($key['on_update']){ |
|
158 | + if ($key['on_update']) { |
|
159 | 159 | $constraint .= PHP_EOL . $this->getTemplate('migration/on-constraint') |
160 | 160 | ->with([ |
161 | 161 | 'event' => 'Update', |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | |
6 | 6 | class RouteCommand extends BaseCommand { |
7 | 7 | |
8 | - protected $signature = 'wn:route |
|
8 | + protected $signature = 'wn:route |
|
9 | 9 | {resource : Name of the resource.} |
10 | 10 | {--controller= : Name of the RESTful controller.} |
11 | 11 | {--controller-namespace= : Namespace of the RESTful controller if not default.} |
@@ -13,22 +13,22 @@ discard block |
||
13 | 13 | {--laravel= : Use Laravel style route definitions} |
14 | 14 | '; |
15 | 15 | |
16 | - protected $description = 'Generates RESTful routes.'; |
|
16 | + protected $description = 'Generates RESTful routes.'; |
|
17 | 17 | |
18 | 18 | public function handle() |
19 | 19 | { |
20 | 20 | $resource = $this->argument('resource'); |
21 | 21 | $laravelRoutes = $this->option('laravel'); |
22 | - $templateFile = 'routes'; |
|
22 | + $templateFile = 'routes'; |
|
23 | 23 | $routesPath = $this->option('path') ?: 'routes/web.php'; |
24 | 24 | if ($laravelRoutes) { |
25 | 25 | $templateFile = 'routes-laravel'; |
26 | 26 | $routesPath = $this->option('path') ?: 'routes/api.php'; |
27 | - if (!$this->fs->isFile($routesPath)) { |
|
28 | - if (!$this->fs->isDirectory(\dirname($routesPath))) { |
|
29 | - $this->fs->makeDirectory(\dirname($routesPath)); |
|
30 | - } |
|
31 | - $this->fs->put($routesPath, " |
|
27 | + if (!$this->fs->isFile($routesPath)) { |
|
28 | + if (!$this->fs->isDirectory(\dirname($routesPath))) { |
|
29 | + $this->fs->makeDirectory(\dirname($routesPath)); |
|
30 | + } |
|
31 | + $this->fs->put($routesPath, " |
|
32 | 32 | <?php |
33 | 33 | |
34 | 34 | use Illuminate\Http\Request; |
@@ -49,11 +49,11 @@ discard block |
||
49 | 49 | }); |
50 | 50 | |
51 | 51 | "); |
52 | - } |
|
52 | + } |
|
53 | + } |
|
54 | + if ($this->option('controller-namespace')) { |
|
55 | + $templateFile .= '-namespace'; |
|
53 | 56 | } |
54 | - if ($this->option('controller-namespace')) { |
|
55 | - $templateFile .= '-namespace'; |
|
56 | - } |
|
57 | 57 | |
58 | 58 | if (!$this->fs->isFile($routesPath)) { |
59 | 59 | $routesPath = 'app/Http/routes.php'; |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | ->with([ |
65 | 65 | 'resource' => $resource, |
66 | 66 | 'controller' => $this->getController(), |
67 | - 'namespace' => $this->option('controller-namespace'), |
|
67 | + 'namespace' => $this->option('controller-namespace'), |
|
68 | 68 | ]) |
69 | 69 | ->get(); |
70 | 70 | $this->save($content, $routesPath, "{$resource} routes", true); |