Skip to content

Commit b4029f0

Browse files
authored
Merge pull request #2063 from alissn/RefactorModuleHelper
Refactor `module` helper, improve code clarity, and handle exceptions
2 parents 6d57161 + 0f4a12a commit b4029f0

File tree

2 files changed

+11
-23
lines changed

2 files changed

+11
-23
lines changed

src/helpers.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
<?php
22

33
use Illuminate\Foundation\Vite;
4-
use Illuminate\Support\Facades\Log;
54
use Illuminate\Support\Facades\Vite as ViteFacade;
6-
use Nwidart\Modules\Laravel\Module;
5+
use Nwidart\Modules\Exceptions\ModuleNotFoundException;
6+
use Nwidart\Modules\FileRepository;
7+
use Nwidart\Modules\Module;
78

89
if (! function_exists('module')) {
910
/**
@@ -15,14 +16,16 @@
1516
*/
1617
function module(string $name, bool $instance = false): bool|Module
1718
{
18-
$modules = app('modules');
19-
if (! $modules->has($name)) {
20-
Log::error("Module '$name' not found.");
19+
/** @var FileRepository $repository */
20+
$repository = app('modules');
2121

22+
try {
23+
$module = $repository->findOrFail($name);
24+
25+
return $instance ? $module : $module->isEnabled();
26+
} catch (ModuleNotFoundException $exception) {
2227
return false;
2328
}
24-
25-
return $instance ? $modules->find($name) : $modules->isEnabled($name);
2629
}
2730
}
2831

tests/ModuleHelperTest.php

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44

55
use Illuminate\Support\Facades\Artisan;
66
use Illuminate\Support\Facades\Blade;
7-
use Illuminate\Support\Facades\Log;
87
use Nwidart\Modules\Contracts\RepositoryInterface;
9-
use Nwidart\Modules\Laravel\Module;
8+
use Nwidart\Modules\Module;
109

1110
class ModuleHelperTest extends BaseTestCase
1211
{
@@ -39,20 +38,6 @@ public function test_module_returns_true_when_found()
3938
$this->assertTrue(module('Blog'));
4039
}
4140

42-
public function test_module_returns_false_and_log_error_when_not_found()
43-
{
44-
Log::shouldReceive('error')->once()->with("Module 'Blogs' not found.");
45-
46-
$this->assertFalse(module('Blogs'));
47-
}
48-
49-
public function test_module_returns_false_and_log_error_when_not_found_and_instance_parameter_is_true()
50-
{
51-
Log::shouldReceive('error')->once()->with("Module 'Blogs' not found.");
52-
53-
$this->assertFalse(module('Blogs', true));
54-
}
55-
5641
public function test_module_returns_instance_when_instance_parameter_is_true()
5742
{
5843
$module = module('Blog', true);

0 commit comments

Comments
 (0)