Skip to content

Commit bd754f0

Browse files
authored
Merge pull request #11 from mhh1422/master
Make name optional in create command
2 parents 57f8dff + 167122b commit bd754f0

27 files changed

+123
-115
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ Your module controllers (by default go into the `Http/Controllers` folder) shoul
4848
## Creating Modules
4949
To create a new module, you can use the artisan command
5050
```
51-
php artisan modules:make {id} {name} [--url={url}]
51+
php artisan modules:make {id} [{name}] [--url={url}]
5252
```
53-
Values of `id`, `name`, and `url` are strings, and the URL part is optional and will be used to generate make the
54-
URLs of the module more human friendly.
53+
Values of `id`, `name`, and `url` are strings. The name and URL parts are optional. URL will be used to generate the
54+
URLs of the module more human friendly. Name is used for human identification and readability only.
5555
5656
This command will create the basic folder structure inside the modules folder, along with the base module and a sample
5757
routes (inside `Http/routes.php`), controller (inside `Http/Controllers/`), and view (inside `Views`).

src/Commands/MakeModule.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ class MakeModule extends \Illuminate\Console\Command implements SelfHandling {
99

1010
protected $signature = 'make:module
1111
{id : the ID of the module. Should be unique across modules}
12-
{name : the display name of the module}
12+
{name? : the display name of the module}
1313
{--url= : the URL/route-names part for the module}
1414
';
1515
protected $description = 'Makes a new module';
@@ -36,7 +36,7 @@ public function __construct(Filesystem $fileSystem) {
3636
public function handle() {
3737
//input
3838
$id = $this->argument('id');
39-
$name = $this->argument('name');
39+
$name = $this->argument('name') ? : $id;
4040
$url = $this->option('url') ?: str_slug($id);
4141

4242
//subs

tests/Cases/MakeModuleTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@ public function testSimpleCommand()
2626
$this->assertEquals(\App\Modules\Test\Module::make()->routePrefix(), "test");
2727
}
2828

29+
public function testDefaultValues()
30+
{
31+
$this->artisan('make:module', ["id" => "Test2"]);
32+
$this->loadModuleFiles("Test2");
33+
$this->assertEquals(\App\Modules\Test2\Module::make()->id(), "Test2");
34+
$this->assertEquals(\App\Modules\Test2\Module::make()->name(), "Test2");
35+
}
36+
2937
public function testCompoundName()
3038
{
3139
$this->artisan('make:module', ["id" => "TestModule", "name" => "Test Module"]);

tests/codeCoverage/Commands/InitiateDatabaseTable.php.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@
165165
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
166166
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">__construct</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
167167
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
168-
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testController&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testInvalidControllers&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testModulesServiceProvider&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testDeletedModuleFiles&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testSimpleCommand&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCompoundName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCustomUrl&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ModulePropertiesTest::testModuleProperties&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testDummyStoreHandler&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testSimpleDbStoreHandler&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">parent</span><span class="default">::</span><span class="default">__construct</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
169-
<tr class="covered-by-large-tests popin" data-title="10 tests cover line 21" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testController&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testInvalidControllers&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testModulesServiceProvider&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testDeletedModuleFiles&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testSimpleCommand&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCompoundName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCustomUrl&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ModulePropertiesTest::testModuleProperties&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testDummyStoreHandler&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testSimpleDbStoreHandler&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
168+
<tr class="covered-by-large-tests popin" data-title="11 tests cover line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testController&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testInvalidControllers&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testModulesServiceProvider&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testDeletedModuleFiles&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testSimpleCommand&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testDefaultValues&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCompoundName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCustomUrl&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ModulePropertiesTest::testModuleProperties&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testDummyStoreHandler&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testSimpleDbStoreHandler&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">parent</span><span class="default">::</span><span class="default">__construct</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
169+
<tr class="covered-by-large-tests popin" data-title="11 tests cover line 21" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testController&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ControllerTest::testInvalidControllers&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testModulesServiceProvider&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\GenericTest::testDeletedModuleFiles&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testSimpleCommand&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testDefaultValues&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCompoundName&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\MakeModuleTest::testCustomUrl&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\ModulePropertiesTest::testModuleProperties&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testDummyStoreHandler&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;ItvisionSy\Laravel\Modules\Tests\Cases\StoreHandlersTest::testSimpleDbStoreHandler&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
170170
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
171171
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
172172
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Execute&nbsp;the&nbsp;command.</span></td></tr>
@@ -199,7 +199,7 @@ <h4>Legend</h4>
199199
<span class="warning"><strong>Dead Code</strong></span>
200200
</p>
201201
<p>
202-
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 4.0.7</a> using <a href="https://secure.php.net/" target="_top">PHP 5.6.29</a> with <a href="https://xdebug.org/">Xdebug 2.2.5</a> and <a href="https://phpunit.de/">PHPUnit 5.7.16</a> at Sun Apr 2 11:20:54 UTC 2017.</small>
202+
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 4.0.7</a> using <a href="https://secure.php.net/" target="_top">PHP 5.6.29</a> with <a href="https://xdebug.org/">Xdebug 2.2.5</a> and <a href="https://phpunit.de/">PHPUnit 5.7.16</a> at Sun Apr 9 8:41:16 UTC 2017.</small>
203203
</p>
204204
<a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
205205
</footer>

0 commit comments

Comments
 (0)