@@ -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'); |
@@ -19,9 +19,9 @@ discard block |
||
19 | 19 | |
20 | 20 | $file = $this->getFile(); |
21 | 21 | |
22 | - $content = ! $this->fs->exists($file) ? '' : $this->fs->get($file); |
|
22 | + $content = !$this->fs->exists($file) ? '' : $this->fs->get($file); |
|
23 | 23 | |
24 | - $content .= $this->getTemplate(! $this->fs->exists($file) ? 'factory-create' : 'factory') |
|
24 | + $content .= $this->getTemplate(!$this->fs->exists($file) ? 'factory-create' : 'factory') |
|
25 | 25 | ->with([ |
26 | 26 | 'model' => $model, |
27 | 27 | 'factory_fields' => $this->getFieldsContent() |
@@ -34,7 +34,7 @@ discard block |
||
34 | 34 | protected function getFile() |
35 | 35 | { |
36 | 36 | $file = $this->option('file'); |
37 | - if(! $file){ |
|
37 | + if (!$file) { |
|
38 | 38 | $file = './database/factories/ModelFactory.php'; |
39 | 39 | } |
40 | 40 | return $file; |
@@ -46,12 +46,12 @@ discard block |
||
46 | 46 | |
47 | 47 | $fields = $this->option('fields'); |
48 | 48 | |
49 | - if($fields){ |
|
50 | - if(! $this->option('parsed')){ |
|
49 | + if ($fields) { |
|
50 | + if (!$this->option('parsed')) { |
|
51 | 51 | $fields = $this->getArgumentParser('factory-fields')->parse($fields); |
52 | 52 | } |
53 | 53 | $template = $this->getTemplate('factory/field'); |
54 | - foreach($fields as $field){ |
|
54 | + foreach ($fields as $field) { |
|
55 | 55 | $content[] = $template->with($field)->get(); |
56 | 56 | } |
57 | 57 | $content = implode(PHP_EOL, $content); |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | $snakeName = snake_case($name); |
25 | 25 | |
26 | 26 | $file = $this->option('file'); |
27 | - if (! $file) { |
|
27 | + if (!$file) { |
|
28 | 28 | $file = date('Y_m_d_His_') . $snakeName . '_table'; |
29 | 29 | $this->deleteOldMigration($snakeName); |
30 | 30 | } else { |
@@ -46,10 +46,10 @@ discard block |
||
46 | 46 | |
47 | 47 | protected function deleteOldMigration($fileName) |
48 | 48 | { |
49 | - foreach (new \DirectoryIterator("./database/migrations/") as $fileInfo){ |
|
50 | - if($fileInfo->isDot()) continue; |
|
49 | + foreach (new \DirectoryIterator("./database/migrations/") as $fileInfo) { |
|
50 | + if ($fileInfo->isDot()) continue; |
|
51 | 51 | |
52 | - if(strpos($fileInfo->getFilename(), $fileName) !== FALSE){ |
|
52 | + if (strpos($fileInfo->getFilename(), $fileName) !== FALSE) { |
|
53 | 53 | unlink($fileInfo->getPathname()); |
54 | 54 | } |
55 | 55 | } |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | $name = $parts[0]['name']; |
93 | 93 | $parts[1]['args'] = array_merge(["'{$name}'"], $parts[1]['args']); |
94 | 94 | unset($parts[0]); |
95 | - $parts = array_map(function($part){ |
|
95 | + $parts = array_map(function($part) { |
|
96 | 96 | return '->' . $part['name'] . '(' . implode(', ', $part['args']) . ')'; |
97 | 97 | }, $parts); |
98 | 98 | return " \$table" . implode('', $parts) . ';'; |
@@ -115,10 +115,10 @@ discard block |
||
115 | 115 | |
116 | 116 | protected function getConstraintDeclaration($key) |
117 | 117 | { |
118 | - if(! $key['column']){ |
|
118 | + if (!$key['column']) { |
|
119 | 119 | $key['column'] = 'id'; |
120 | 120 | } |
121 | - if(! $key['table']){ |
|
121 | + if (!$key['table']) { |
|
122 | 122 | $key['table'] = substr($key['name'], 0, count($key['name']) - 4); |
123 | 123 | } |
124 | 124 | |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | ]) |
131 | 131 | ->get(); |
132 | 132 | |
133 | - if($key['on_delete']){ |
|
133 | + if ($key['on_delete']) { |
|
134 | 134 | $constraint .= PHP_EOL . $this->getTemplate('migration/on-constraint') |
135 | 135 | ->with([ |
136 | 136 | 'event' => 'Delete', |
@@ -139,7 +139,7 @@ discard block |
||
139 | 139 | ->get(); |
140 | 140 | } |
141 | 141 | |
142 | - if($key['on_update']){ |
|
142 | + if ($key['on_update']) { |
|
143 | 143 | $constraint .= PHP_EOL . $this->getTemplate('migration/on-constraint') |
144 | 144 | ->with([ |
145 | 145 | 'event' => 'Update', |
@@ -47,7 +47,9 @@ |
||
47 | 47 | protected function deleteOldMigration($fileName) |
48 | 48 | { |
49 | 49 | foreach (new \DirectoryIterator("./database/migrations/") as $fileInfo){ |
50 | - if($fileInfo->isDot()) continue; |
|
50 | + if($fileInfo->isDot()) { |
|
51 | + continue; |
|
52 | + } |
|
51 | 53 | |
52 | 54 | if(strpos($fileInfo->getFilename(), $fileName) !== FALSE){ |
53 | 55 | unlink($fileInfo->getPathname()); |
@@ -92,6 +92,9 @@ |
||
92 | 92 | return $this->buildParameters($this->parseValue($keys, 'foreign-keys'), "// Constraints declaration", [$this, 'getConstraintDeclaration']); |
93 | 93 | } |
94 | 94 | |
95 | + /** |
|
96 | + * @param string $emptyPlaceholder |
|
97 | + */ |
|
95 | 98 | protected function buildParameters($items, $emptyPlaceholder, $callback = null) { |
96 | 99 | if ($items === false) { |
97 | 100 | return $this->spaces(12) . $emptyPlaceholder; |
@@ -46,45 +46,45 @@ discard block |
||
46 | 46 | $morphTables = $this->uniqueArray($this->getTables($nodes, 'morphTables')); |
47 | 47 | |
48 | 48 | if (! $this->option('skip-check')) { |
49 | - $this->info('Checking Relationships...'); |
|
50 | - $keys = array_keys($nodes); |
|
51 | - foreach ($nodes as $model => $i) { |
|
52 | - $this->checkRelations($i['belongsTo'], 'belongsTo', $i['filename'], $i['uniquename'], $keys); |
|
53 | - // $this->checkRelations($i['hasManyThrough'], 'hasManyThrough', $file, $model); |
|
54 | - } |
|
55 | - $this->checkPivotRelations($nodes, $pivotTables, 'pivot'); |
|
56 | - $this->checkPivotRelations($nodes, $morphTables, 'morph'); |
|
49 | + $this->info('Checking Relationships...'); |
|
50 | + $keys = array_keys($nodes); |
|
51 | + foreach ($nodes as $model => $i) { |
|
52 | + $this->checkRelations($i['belongsTo'], 'belongsTo', $i['filename'], $i['uniquename'], $keys); |
|
53 | + // $this->checkRelations($i['hasManyThrough'], 'hasManyThrough', $file, $model); |
|
54 | + } |
|
55 | + $this->checkPivotRelations($nodes, $pivotTables, 'pivot'); |
|
56 | + $this->checkPivotRelations($nodes, $morphTables, 'morph'); |
|
57 | 57 | } |
58 | 58 | |
59 | 59 | if ($this->checkedErrors > 0) { |
60 | - $this->line(''); |
|
61 | - if ($this->option('check-only')) { |
|
62 | - $this->info('Checking only, we have found ' . $this->checkedErrors . ' errors.'); |
|
63 | - } |
|
64 | - $this->printErrors(); |
|
60 | + $this->line(''); |
|
61 | + if ($this->option('check-only')) { |
|
62 | + $this->info('Checking only, we have found ' . $this->checkedErrors . ' errors.'); |
|
63 | + } |
|
64 | + $this->printErrors(); |
|
65 | 65 | } |
66 | 66 | |
67 | 67 | $proceed = (! $this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
68 | 68 | if (! $this->option('check-only') && $this->checkedErrors > 0) { |
69 | - $this->line(''); |
|
70 | - $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
|
69 | + $this->line(''); |
|
70 | + $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
|
71 | 71 | } |
72 | 72 | if ($proceed) { |
73 | - $this->buildResources($nodes); |
|
73 | + $this->buildResources($nodes); |
|
74 | 74 | |
75 | - // if (!$this->option('no-migration')) { |
|
76 | - // $this->call('migrate'); // actually needed for pivot seeders ! |
|
77 | - // } |
|
75 | + // if (!$this->option('no-migration')) { |
|
76 | + // $this->call('migrate'); // actually needed for pivot seeders ! |
|
77 | + // } |
|
78 | 78 | |
79 | - $this->line(''); |
|
79 | + $this->line(''); |
|
80 | 80 | $this->buildTables('Pivot-Table', 'wn:pivot-table', 'model1', 'model2', $pivotTables); |
81 | 81 | |
82 | - $this->line(''); |
|
82 | + $this->line(''); |
|
83 | 83 | $this->buildTables('Morph-Table', 'wn:morph-table', 'model', 'morphable', $morphTables); |
84 | 84 | |
85 | - if (!$this->option('no-migration')) { |
|
86 | - $this->call('migrate'); |
|
87 | - } |
|
85 | + if (!$this->option('no-migration')) { |
|
86 | + $this->call('migrate'); |
|
87 | + } |
|
88 | 88 | } |
89 | 89 | } |
90 | 90 | |
@@ -371,10 +371,10 @@ discard block |
||
371 | 371 | $deps = $this->getArgumentParser('relations')->parse($nodes[$key]['belongsTo']); |
372 | 372 | foreach($deps as $dependency) { |
373 | 373 | if(! $dependency['model']){ |
374 | - $dependency['model'] = $dependency['name']; |
|
375 | - } else if(strpos($dependency['model'], '\\') !== false ){ |
|
376 | - $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); // Cut offs first namespace part |
|
377 | - } |
|
374 | + $dependency['model'] = $dependency['name']; |
|
375 | + } else if(strpos($dependency['model'], '\\') !== false ){ |
|
376 | + $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); // Cut offs first namespace part |
|
377 | + } |
|
378 | 378 | $dependency['model'] = studly_case(str_singular($dependency['model'])); |
379 | 379 | if ($dependency['model'] != $key) { |
380 | 380 | $tmp = $this->getDependencies($nodes, $dependency['model'], $seen); |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | return; |
41 | 41 | } |
42 | 42 | if (is_string($files)) { |
43 | - $files = [ $files ]; |
|
43 | + $files = [$files]; |
|
44 | 44 | } |
45 | 45 | |
46 | 46 | foreach ($files as $file) { |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | $pivotTables = $this->uniqueArray($this->getTables($nodes, 'pivotTables')); |
55 | 55 | $morphTables = $this->uniqueArray($this->getTables($nodes, 'morphTables')); |
56 | 56 | |
57 | - if (! $this->option('skip-check')) { |
|
57 | + if (!$this->option('skip-check')) { |
|
58 | 58 | $this->info('Checking Relationships...'); |
59 | 59 | $keys = array_keys($nodes); |
60 | 60 | foreach ($nodes as $model => $i) { |
@@ -73,8 +73,8 @@ discard block |
||
73 | 73 | $this->printErrors(); |
74 | 74 | } |
75 | 75 | |
76 | - $proceed = (! $this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
|
77 | - if (! $this->option('check-only') && $this->checkedErrors > 0) { |
|
76 | + $proceed = (!$this->option('check-only') && $this->checkedErrors == 0) || $this->option('skip-check'); |
|
77 | + if (!$this->option('check-only') && $this->checkedErrors > 0) { |
|
78 | 78 | $this->line(''); |
79 | 79 | $proceed = $this->confirm("We have found " . $this->checkedErrors . " errors. Are you sure you want to continue?"); |
80 | 80 | } |
@@ -107,14 +107,14 @@ discard block |
||
107 | 107 | |
108 | 108 | protected function readFile($file) |
109 | 109 | { |
110 | - $this->info("Reading file ".$file); |
|
110 | + $this->info("Reading file " . $file); |
|
111 | 111 | |
112 | 112 | $content = $this->fs->get($file); |
113 | 113 | $content = Yaml::parse($content); |
114 | 114 | |
115 | 115 | $nodes = []; |
116 | 116 | |
117 | - foreach ($content as $model => $i){ |
|
117 | + foreach ($content as $model => $i) { |
|
118 | 118 | /* |
119 | 119 | $i['modelname'] = as originally in YAML defined |
120 | 120 | $i['name'] = as originally defined in snake_case |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | } |
133 | 133 | |
134 | 134 | protected function mergeNodes($nodes, $toMerge, $forceRedefinition = false) { |
135 | - foreach($toMerge as $node) { |
|
135 | + foreach ($toMerge as $node) { |
|
136 | 136 | $nodes = $this->mergeNode($nodes, $node, $forceRedefinition); |
137 | 137 | } |
138 | 138 | |
@@ -142,11 +142,11 @@ discard block |
||
142 | 142 | protected function mergeNode($nodes, $toMerge, $forceRedefinition = false) { |
143 | 143 | if (empty($nodes[$toMerge['uniquename']]) || $forceRedefinition) { |
144 | 144 | if (!empty($nodes[$toMerge['uniquename']])) { |
145 | - $this->checkError($toMerge['uniquename'] . ": forced to redefine (in file " . $nodes[$toMerge['uniquename']]['filename'] . ", redefined from file ".$toMerge['filename'].")"); |
|
145 | + $this->checkError($toMerge['uniquename'] . ": forced to redefine (in file " . $nodes[$toMerge['uniquename']]['filename'] . ", redefined from file " . $toMerge['filename'] . ")"); |
|
146 | 146 | } |
147 | 147 | $nodes[$toMerge['uniquename']] = $toMerge; |
148 | 148 | } else { |
149 | - $this->checkError($toMerge['uniquename'] . ": already defined (in file " . $nodes[$toMerge['uniquename']]['filename'] . ", trying to redefine from file ".$toMerge['filename']."; Use --force-redefine to force redefinition)"); |
|
149 | + $this->checkError($toMerge['uniquename'] . ": already defined (in file " . $nodes[$toMerge['uniquename']]['filename'] . ", trying to redefine from file " . $toMerge['filename'] . "; Use --force-redefine to force redefinition)"); |
|
150 | 150 | } |
151 | 151 | |
152 | 152 | return $nodes; |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | |
155 | 155 | protected function getTables($nodes, $key) { |
156 | 156 | $tables = []; |
157 | - foreach($nodes as $node) { |
|
157 | + foreach ($nodes as $node) { |
|
158 | 158 | if (!empty($node[$key])) { |
159 | 159 | $tables = array_merge($tables, $node[$key]); |
160 | 160 | } |
@@ -166,10 +166,10 @@ discard block |
||
166 | 166 | protected function buildResources($nodes) |
167 | 167 | { |
168 | 168 | $modelIndex = 0; |
169 | - $migrationIdLength = strlen((string)count($nodes)); |
|
169 | + $migrationIdLength = strlen((string) count($nodes)); |
|
170 | 170 | foreach ($nodes as $i) { |
171 | - $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
172 | - $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex , $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
171 | + $migrationName = 'Create' . ucwords(str_plural($i['name'])); |
|
172 | + $migrationFile = date('Y_m_d_His') . '-' . str_pad($modelIndex, $migrationIdLength, 0, STR_PAD_LEFT) . '_' . snake_case($migrationName) . '_table'; |
|
173 | 173 | |
174 | 174 | $this->line(''); |
175 | 175 | $this->info('Building Model ' . $i['uniquename']); |
@@ -213,7 +213,7 @@ discard block |
||
213 | 213 | protected function buildTables($type, $command, $model1, $model2, $tableAssignment) |
214 | 214 | { |
215 | 215 | foreach ($tableAssignment as $tables) { |
216 | - $this->info('Building '.$type.' ' . $tables[0] . ' - ' . $tables[1]); |
|
216 | + $this->info('Building ' . $type . ' ' . $tables[0] . ' - ' . $tables[1]); |
|
217 | 217 | $this->call($command, [ |
218 | 218 | $model1 => $tables[0], |
219 | 219 | $model2 => $tables[1], |
@@ -237,28 +237,28 @@ discard block |
||
237 | 237 | $i['modelname'] = $i['modelname']; |
238 | 238 | $i['uniquename'] = $i['uniquename']; |
239 | 239 | |
240 | - foreach(['hasMany', 'hasOne', 'add', 'belongsTo', 'belongsToMany', 'hasManyThrough', 'morphTo', 'morphMany', 'morphToMany', 'morphedByMany'] as $relation){ |
|
241 | - if(isset($i[$relation])){ |
|
240 | + foreach (['hasMany', 'hasOne', 'add', 'belongsTo', 'belongsToMany', 'hasManyThrough', 'morphTo', 'morphMany', 'morphToMany', 'morphedByMany'] as $relation) { |
|
241 | + if (isset($i[$relation])) { |
|
242 | 242 | $i[$relation] = $this->convertArray($i[$relation], ' ', ','); |
243 | 243 | } else { |
244 | 244 | $i[$relation] = false; |
245 | 245 | } |
246 | 246 | } |
247 | 247 | |
248 | - if($i['belongsToMany']){ |
|
248 | + if ($i['belongsToMany']) { |
|
249 | 249 | $i['pivotTables'] = $this->belongsTo($i['name'], $modelName, $i['belongsToMany']); |
250 | 250 | } |
251 | 251 | |
252 | - if($i['morphToMany']){ |
|
252 | + if ($i['morphToMany']) { |
|
253 | 253 | $i['morphTables'] = $this->morphToMany($modelName, $i['morphToMany']); |
254 | 254 | } |
255 | 255 | |
256 | - if($i['morphedByMany']){ |
|
256 | + if ($i['morphedByMany']) { |
|
257 | 257 | $i['morphTables'] = array_merge($i['morphTables'], $this->morphedByMany($i['name'], $modelName, $i['morphedByMany'])); |
258 | 258 | } |
259 | 259 | |
260 | 260 | $fields = []; |
261 | - foreach($i['fields'] as $name => $value) { |
|
261 | + foreach ($i['fields'] as $name => $value) { |
|
262 | 262 | $value['name'] = $name; |
263 | 263 | $fields[] = $this->serializeField($value); |
264 | 264 | } |
@@ -271,7 +271,7 @@ discard block |
||
271 | 271 | { |
272 | 272 | $parsedRelations = []; |
273 | 273 | $relations = $this->getArgumentParser($parser)->parse($relations); |
274 | - foreach ($relations as $relation){ |
|
274 | + foreach ($relations as $relation) { |
|
275 | 275 | $parsedRelations[] = $callback($relation); |
276 | 276 | } |
277 | 277 | |
@@ -280,7 +280,7 @@ discard block |
||
280 | 280 | |
281 | 281 | protected function getConditionalTableName($condition, $then, $else) |
282 | 282 | { |
283 | - if($condition){ |
|
283 | + if ($condition) { |
|
284 | 284 | return snake_case($this->extractClassName($then)); |
285 | 285 | } else { |
286 | 286 | return snake_case($this->extractClassName($else)); |
@@ -290,8 +290,8 @@ discard block |
||
290 | 290 | protected function belongsTo($name, $modelName, $belongsTo) |
291 | 291 | { |
292 | 292 | return $this->parseRelations('relations', $belongsTo, function($relation) use ($name, $modelName) { |
293 | - $table = $this->getConditionalTableName(! $relation['model'], $relation['name'], $relation['model']); |
|
294 | - $tables = [ str_singular($table), $name ]; |
|
293 | + $table = $this->getConditionalTableName(!$relation['model'], $relation['name'], $relation['model']); |
|
294 | + $tables = [str_singular($table), $name]; |
|
295 | 295 | sort($tables); |
296 | 296 | $tables[] = $modelName; |
297 | 297 | return $tables; |
@@ -301,7 +301,7 @@ discard block |
||
301 | 301 | protected function morphToMany($modelName, $morphToMany) |
302 | 302 | { |
303 | 303 | return $this->parseRelations('relations-morphMany', $morphToMany, function($relation) use ($modelName) { |
304 | - $name = $this->getConditionalTableName(! $relation['through'], $relation['name'], $relation['model']); |
|
304 | + $name = $this->getConditionalTableName(!$relation['through'], $relation['name'], $relation['model']); |
|
305 | 305 | return $this->getMorphableRelation($relation, $name, $modelName); |
306 | 306 | }); |
307 | 307 | } |
@@ -314,8 +314,8 @@ discard block |
||
314 | 314 | } |
315 | 315 | |
316 | 316 | protected function getMorphableRelation($relation, $relationName, $modelName) { |
317 | - $morphable = $this->getConditionalTableName(! $relation['through'], $relation['model'], $relation['through']); |
|
318 | - return [ str_singular($relationName), str_singular($morphable), $modelName ]; |
|
317 | + $morphable = $this->getConditionalTableName(!$relation['through'], $relation['model'], $relation['through']); |
|
318 | + return [str_singular($relationName), str_singular($morphable), $modelName]; |
|
319 | 319 | } |
320 | 320 | |
321 | 321 | protected function serializeField($field) |
@@ -327,7 +327,7 @@ discard block |
||
327 | 327 | |
328 | 328 | $string = "{$name};{$schema};{$rules};{$tags}"; |
329 | 329 | |
330 | - if(isset($field['factory']) && !empty($field['factory'])){ |
|
330 | + if (isset($field['factory']) && !empty($field['factory'])) { |
|
331 | 331 | $string .= ';' . $field['factory']; |
332 | 332 | } |
333 | 333 | |
@@ -336,7 +336,7 @@ discard block |
||
336 | 336 | |
337 | 337 | protected function convertArray($list, $old, $new) |
338 | 338 | { |
339 | - return implode($new, array_filter(explode($old, $list), function($item){ |
|
339 | + return implode($new, array_filter(explode($old, $list), function($item) { |
|
340 | 340 | return !empty($item); |
341 | 341 | })); |
342 | 342 | } |
@@ -345,7 +345,7 @@ discard block |
||
345 | 345 | $load_order = array(); |
346 | 346 | $seen = array(); |
347 | 347 | |
348 | - foreach($nodes as $key => $item) { |
|
348 | + foreach ($nodes as $key => $item) { |
|
349 | 349 | $tmp = $this->getDependencies($nodes, $key, $seen); |
350 | 350 | |
351 | 351 | // if($tmp[2] === false) { |
@@ -358,22 +358,22 @@ discard block |
||
358 | 358 | } |
359 | 359 | |
360 | 360 | private function getDependencies($nodes, $key, $seen = array()) { |
361 | - if(array_key_exists($key, $seen) === true) { |
|
361 | + if (array_key_exists($key, $seen) === true) { |
|
362 | 362 | return array(array(), $seen); |
363 | 363 | } |
364 | 364 | |
365 | 365 | |
366 | - if(!empty($nodes[$key])) { |
|
366 | + if (!empty($nodes[$key])) { |
|
367 | 367 | $order = array(); |
368 | 368 | // $failed = array(); |
369 | 369 | |
370 | - if($nodes[$key]['belongsTo']) { |
|
370 | + if ($nodes[$key]['belongsTo']) { |
|
371 | 371 | $deps = $this->getArgumentParser('relations')->parse($nodes[$key]['belongsTo']); |
372 | - foreach($deps as $dependency) { |
|
373 | - if(! $dependency['model']){ |
|
372 | + foreach ($deps as $dependency) { |
|
373 | + if (!$dependency['model']) { |
|
374 | 374 | $dependency['model'] = $dependency['name']; |
375 | - } else if(strpos($dependency['model'], '\\') !== false ){ |
|
376 | - $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\')+1); // Cut offs first namespace part |
|
375 | + } else if (strpos($dependency['model'], '\\') !== false) { |
|
376 | + $dependency['model'] = substr($dependency['model'], strpos($dependency['model'], '\\') + 1); // Cut offs first namespace part |
|
377 | 377 | } |
378 | 378 | $dependency['model'] = studly_case(str_singular($dependency['model'])); |
379 | 379 | if ($dependency['model'] != $key) { |
@@ -392,10 +392,10 @@ discard block |
||
392 | 392 | $order[$key] = $nodes[$key]; |
393 | 393 | // $failed = (count($failed) > 0) ? $failed : false; |
394 | 394 | |
395 | - return array($order, $seen);//, $failed |
|
395 | + return array($order, $seen); //, $failed |
|
396 | 396 | } |
397 | 397 | |
398 | - return array(array(), $seen);//, array($item) |
|
398 | + return array(array(), $seen); //, array($item) |
|
399 | 399 | } |
400 | 400 | |
401 | 401 | protected function checkError($message, $model = "", $file = "") { |
@@ -420,7 +420,7 @@ discard block |
||
420 | 420 | if ($relations) { |
421 | 421 | $position = array_search($model, $keys); |
422 | 422 | $relations = $this->getArgumentParser('relations')->parse($relations); |
423 | - foreach($relations as $relation) { |
|
423 | + foreach ($relations as $relation) { |
|
424 | 424 | $rModel = $relation['model'] ? $relation['model'] : $relation['name']; |
425 | 425 | $search = array_search(studly_case(str_singular($rModel)), $keys); |
426 | 426 | if (($search === false || $search > $position) && !class_exists($this->prependNamespace($rModel)) && !class_exists($this->prependNamespace($rModel, 'App'))) { |
@@ -436,7 +436,7 @@ discard block |
||
436 | 436 | |
437 | 437 | protected function checkPivotRelations($nodes, $relations, $relationType) { |
438 | 438 | if ($relations) { |
439 | - foreach($relations as $relation) { |
|
439 | + foreach ($relations as $relation) { |
|
440 | 440 | $relation['0'] = studly_case(str_singular($relation['0'])); |
441 | 441 | $relation['1'] = studly_case(str_singular($relation['1'])); |
442 | 442 | $relation['2'] = studly_case(str_singular($relation['2'])); |
@@ -3,7 +3,7 @@ discard block |
||
3 | 3 | |
4 | 4 | class ModelCommand extends BaseCommand { |
5 | 5 | |
6 | - protected $signature = 'wn:model |
|
6 | + protected $signature = 'wn:model |
|
7 | 7 | {name : Name of the model.} |
8 | 8 | {--fillable= : the fillable fields.} |
9 | 9 | {--dates= : date fields.} |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | {--force= : override the existing files} |
25 | 25 | '; |
26 | 26 | |
27 | - protected $description = 'Generates a model class for a RESTfull resource'; |
|
27 | + protected $description = 'Generates a model class for a RESTfull resource'; |
|
28 | 28 | |
29 | 29 | public function handle() |
30 | 30 | { |
@@ -49,9 +49,9 @@ discard block |
||
49 | 49 | |
50 | 50 | protected function getAsArrayFields($arg, $isOption = true) |
51 | 51 | { |
52 | - $arg = ($isOption) ? $this->option($arg) : $this->argument($arg); |
|
52 | + $arg = ($isOption) ? $this->option($arg) : $this->argument($arg); |
|
53 | 53 | if(is_string($arg)){ |
54 | - $arg = explode(',', $arg); |
|
54 | + $arg = explode(',', $arg); |
|
55 | 55 | } else if(! is_array($arg)) { |
56 | 56 | $arg = []; |
57 | 57 | } |
@@ -93,32 +93,32 @@ discard block |
||
93 | 93 | $template = $this->getTemplate($template); |
94 | 94 | foreach ($items as $item) { |
95 | 95 | $item['type'] = $type; |
96 | - if ($parser == 'relations') { |
|
97 | - $item['model'] = $this->prependNamespace($item['model'] ?: $item['name']); |
|
98 | - } else if ($parser != 'relations') { |
|
99 | - switch($type) { |
|
100 | - case "hasManyThrough": |
|
101 | - if(! $item['through'] && $item['model']){ |
|
102 | - $item['through'] = $this->prependNamespace($item['model']); |
|
103 | - $item['model'] = $this->prependNamespace($item['name']); |
|
104 | - } else { |
|
105 | - $item['through'] = $this->prependNamespace($item['through']); |
|
106 | - $item['model'] = $this->prependNamespace($item['model']); |
|
107 | - } |
|
108 | - break; |
|
109 | - case "morphMany": |
|
110 | - case "morphToMany": |
|
111 | - case "morphedByMany": |
|
112 | - if(! $item['through']){ |
|
113 | - $item['through'] = $item['model']; |
|
114 | - $item['model'] = $this->prependNamespace($item['name']); |
|
115 | - } else { |
|
116 | - $item['model'] = $this->prependNamespace($item['model']); |
|
117 | - } |
|
118 | - break; |
|
119 | - |
|
120 | - } |
|
121 | - } |
|
96 | + if ($parser == 'relations') { |
|
97 | + $item['model'] = $this->prependNamespace($item['model'] ?: $item['name']); |
|
98 | + } else if ($parser != 'relations') { |
|
99 | + switch($type) { |
|
100 | + case "hasManyThrough": |
|
101 | + if(! $item['through'] && $item['model']){ |
|
102 | + $item['through'] = $this->prependNamespace($item['model']); |
|
103 | + $item['model'] = $this->prependNamespace($item['name']); |
|
104 | + } else { |
|
105 | + $item['through'] = $this->prependNamespace($item['through']); |
|
106 | + $item['model'] = $this->prependNamespace($item['model']); |
|
107 | + } |
|
108 | + break; |
|
109 | + case "morphMany": |
|
110 | + case "morphToMany": |
|
111 | + case "morphedByMany": |
|
112 | + if(! $item['through']){ |
|
113 | + $item['through'] = $item['model']; |
|
114 | + $item['model'] = $this->prependNamespace($item['name']); |
|
115 | + } else { |
|
116 | + $item['model'] = $this->prependNamespace($item['model']); |
|
117 | + } |
|
118 | + break; |
|
119 | + |
|
120 | + } |
|
121 | + } |
|
122 | 122 | $relations[] = $template->with($item)->get(); |
123 | 123 | } |
124 | 124 | } |
@@ -128,9 +128,9 @@ discard block |
||
128 | 128 | protected function getRules() |
129 | 129 | { |
130 | 130 | $items = $this->parseValue($this->option('rules'), 'rules'); |
131 | - if ($items === false) { |
|
132 | - return $this->spaces(8) . "// Validation rules"; |
|
133 | - } |
|
131 | + if ($items === false) { |
|
132 | + return $this->spaces(8) . "// Validation rules"; |
|
133 | + } |
|
134 | 134 | |
135 | 135 | $template = $this->getTemplate('model/rule'); |
136 | 136 | $rules = []; |
@@ -50,12 +50,12 @@ discard block |
||
50 | 50 | protected function getAsArrayFields($arg, $isOption = true) |
51 | 51 | { |
52 | 52 | $arg = ($isOption) ? $this->option($arg) : $this->argument($arg); |
53 | - if(is_string($arg)){ |
|
53 | + if (is_string($arg)) { |
|
54 | 54 | $arg = explode(',', $arg); |
55 | - } else if(! is_array($arg)) { |
|
55 | + } else if (!is_array($arg)) { |
|
56 | 56 | $arg = []; |
57 | 57 | } |
58 | - return implode(', ', array_map(function($item){ |
|
58 | + return implode(', ', array_map(function($item) { |
|
59 | 59 | return '"' . $item . '"'; |
60 | 60 | }, $arg)); |
61 | 61 | } |
@@ -74,7 +74,7 @@ discard block |
||
74 | 74 | $this->getRelationsByType('morphedByMany', 'morphed-by-many', false, 'relations-morphMany') |
75 | 75 | ); |
76 | 76 | |
77 | - if(empty($relations)){ |
|
77 | + if (empty($relations)) { |
|
78 | 78 | return " // Relationships"; |
79 | 79 | } |
80 | 80 | |
@@ -85,20 +85,20 @@ discard block |
||
85 | 85 | { |
86 | 86 | $relations = []; |
87 | 87 | $option = $this->option($option); |
88 | - if($option){ |
|
88 | + if ($option) { |
|
89 | 89 | |
90 | 90 | $items = $this->getArgumentParser($parser)->parse($option); |
91 | 91 | |
92 | - $template = ($withTimestamps) ? 'model/relation-with-timestamps' : ($parser=='relations'?'model/relation':'model/relation-'.$type); |
|
92 | + $template = ($withTimestamps) ? 'model/relation-with-timestamps' : ($parser == 'relations' ? 'model/relation' : 'model/relation-' . $type); |
|
93 | 93 | $template = $this->getTemplate($template); |
94 | 94 | foreach ($items as $item) { |
95 | 95 | $item['type'] = $type; |
96 | 96 | if ($parser == 'relations') { |
97 | 97 | $item['model'] = $this->prependNamespace($item['model'] ?: $item['name']); |
98 | 98 | } else if ($parser != 'relations') { |
99 | - switch($type) { |
|
99 | + switch ($type) { |
|
100 | 100 | case "hasManyThrough": |
101 | - if(! $item['through'] && $item['model']){ |
|
101 | + if (!$item['through'] && $item['model']) { |
|
102 | 102 | $item['through'] = $this->prependNamespace($item['model']); |
103 | 103 | $item['model'] = $this->prependNamespace($item['name']); |
104 | 104 | } else { |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | case "morphMany": |
110 | 110 | case "morphToMany": |
111 | 111 | case "morphedByMany": |
112 | - if(! $item['through']){ |
|
112 | + if (!$item['through']) { |
|
113 | 113 | $item['through'] = $item['model']; |
114 | 114 | $item['model'] = $this->prependNamespace($item['name']); |
115 | 115 | } else { |
@@ -21,6 +21,9 @@ discard block |
||
21 | 21 | $this->argumentFormatLoader = new ArgumentFormatLoader($fs); |
22 | 22 | } |
23 | 23 | |
24 | + /** |
|
25 | + * @param string $name |
|
26 | + */ |
|
24 | 27 | protected function getTemplate($name) |
25 | 28 | { |
26 | 29 | return $this->templates->load($name); |
@@ -31,6 +34,9 @@ discard block |
||
31 | 34 | return new ArgumentParser($format); |
32 | 35 | } |
33 | 36 | |
37 | + /** |
|
38 | + * @param string $content |
|
39 | + */ |
|
34 | 40 | protected function save($content, $path, $name, $force = false) |
35 | 41 | { |
36 | 42 | if (!$force && $this->fs->exists($path) && $this->input->hasOption('force') && !$this->option('force')) { |
@@ -49,6 +55,9 @@ discard block |
||
49 | 55 | } |
50 | 56 | } |
51 | 57 | |
58 | + /** |
|
59 | + * @param integer $n |
|
60 | + */ |
|
52 | 61 | protected function spaces($n): string |
53 | 62 | { |
54 | 63 | return str_repeat(' ', $n); |
@@ -10,10 +10,10 @@ discard block |
||
10 | 10 | class BaseCommand extends Command { |
11 | 11 | |
12 | 12 | protected $fs; |
13 | - protected $templates; |
|
13 | + protected $templates; |
|
14 | 14 | |
15 | - public function __construct(Filesystem $fs) |
|
16 | - { |
|
15 | + public function __construct(Filesystem $fs) |
|
16 | + { |
|
17 | 17 | parent::__construct(); |
18 | 18 | |
19 | 19 | $this->fs = $fs; |
@@ -56,11 +56,11 @@ discard block |
||
56 | 56 | |
57 | 57 | protected function getNamespace(string $path = null): string |
58 | 58 | { |
59 | - if (empty($path)) { |
|
60 | - $path = $this->option('path'); |
|
61 | - } |
|
59 | + if (empty($path)) { |
|
60 | + $path = $this->option('path'); |
|
61 | + } |
|
62 | 62 | |
63 | - return implode('\\', array_map('studly_case', array_filter(array_map('trim', explode('/', $path)), function($value) { |
|
63 | + return implode('\\', array_map('studly_case', array_filter(array_map('trim', explode('/', $path)), function($value) { |
|
64 | 64 | return !empty($value); |
65 | 65 | }))); |
66 | 66 | } |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | return $this->templates->load($name); |
27 | 27 | } |
28 | 28 | |
29 | - protected function getArgumentParser($name){ |
|
29 | + protected function getArgumentParser($name) { |
|
30 | 30 | $format = $this->argumentFormatLoader->load($name); |
31 | 31 | return new ArgumentParser($format); |
32 | 32 | } |
@@ -67,11 +67,11 @@ discard block |
||
67 | 67 | |
68 | 68 | protected function parseValue($value, string $parser) |
69 | 69 | { |
70 | - if(! $value){ |
|
70 | + if (!$value) { |
|
71 | 71 | return false; |
72 | 72 | } |
73 | 73 | |
74 | - if(! $this->option('parsed')){ |
|
74 | + if (!$this->option('parsed')) { |
|
75 | 75 | return $this->getArgumentParser($parser)->parse($value); |
76 | 76 | } |
77 | 77 |