Skip to content

Commit 4c496f7

Browse files
committed
♻️ fixes
1 parent 7203efa commit 4c496f7

File tree

7 files changed

+26
-18
lines changed

7 files changed

+26
-18
lines changed

src/Console/ControlMakeCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ protected function buildPerimetersReplacements(array $replace, array $perimeters
119119
$perimetersImplementation = '';
120120

121121
foreach ($perimeters as $perimeter) {
122-
$perimeterClass = app_path('Access/Perimeters/'.$perimeter.'.php');
122+
$perimeterClass = $this->rootNamespace().'Access\\Perimeters\\'.$perimeter.'.php';
123123

124124
$perimetersImplementation .= <<<PERIMETER
125125
\\n

src/Console/PerimeterMakeCommand.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Symfony\Component\Console\Input\InputInterface;
88
use Symfony\Component\Console\Input\InputOption;
99
use Symfony\Component\Console\Output\OutputInterface;
10+
use function Laravel\Prompts\confirm;
1011

1112
#[AsCommand(name: 'make:perimeter')]
1213
class PerimeterMakeCommand extends GeneratorCommand
@@ -118,6 +119,12 @@ protected function getOptions()
118119
*/
119120
protected function afterPromptingForMissingArguments(InputInterface $input, OutputInterface $output)
120121
{
121-
//
122+
if ($this->didReceiveOptions($input)) {
123+
return;
124+
}
125+
126+
if (confirm('Should this perimeter be an overlay?', false)) {
127+
$input->setOption('overlay', true);
128+
}
122129
}
123130
}

src/Console/stubs/control.stub

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ namespace {{ namespace }};
44

55
use {{ rootNamespace }}Http\Controllers\Controller;
66
use Illuminate\Http\Request;
7+
use Lomkit\Access\Controls\Control;
78
use Illuminate\Database\Eloquent\Model;
89
use Illuminate\Database\Eloquent\Builder;
910

@@ -12,7 +13,7 @@ class {{ class }} extends Control
1213
/**
1314
* Retrieve the list of perimeter definitions for the current control.
1415
*
15-
* @return array<Perimeter> An array of Perimeter objects.
16+
* @return array<\Lomkit\Access\Perimeters\Perimeter> An array of Perimeter objects.
1617
*/
1718
protected function perimeters(): array
1819
{

src/Controls/Control.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class Control
3030
/**
3131
* Retrieve the list of perimeter definitions for the current control.
3232
*
33-
* @return array<Perimeter> An array of Perimeter objects.
33+
* @return array<\Lomkit\Access\Perimeters\Perimeter> An array of Perimeter objects.
3434
*/
3535
protected function perimeters(): array
3636
{

src/Policies/ControlledPolicy.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public function delete(Model $user, Model $model)
105105
* @param Model $user The user attempting the restoration.
106106
* @param Model $model The model instance to be restored.
107107
*
108-
* @return bool True if deletion is permitted, false otherwise.
108+
* @return bool True if restoration is permitted, false otherwise.
109109
*/
110110
public function restore(Model $user, Model $model)
111111
{
@@ -118,7 +118,7 @@ public function restore(Model $user, Model $model)
118118
* @param Model $user The user attempting the force deletion.
119119
* @param Model $model The model instance to be force deleted.
120120
*
121-
* @return bool True if deletion is permitted, false otherwise.
121+
* @return bool True if force deletion is permitted, false otherwise.
122122
*/
123123
public function forceDelete(Model $user, Model $model)
124124
{

tests/Feature/ControlsShouldTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public function test_control_should_delete_global_using_shared_overlayed_perimet
140140
$this->assertTrue((new \Lomkit\Access\Tests\Support\Access\Controls\ModelControl())->applies(Auth::user(), 'delete', $model));
141141
}
142142

143-
public function test_control_should_not_delete_global_using_shared_overlayed_perimeter(): void
143+
public function test_control_should_delete_using_shared_overlayed_perimeter(): void
144144
{
145145
Auth::user()->update(['should_shared' => true]);
146146
Auth::user()->update(['should_global' => true]);

tests/Unit/Console/MakeCommandsTest.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,32 @@ class MakeCommandsTest extends TestCase
88
{
99
public function test_make_plain_perimeter_command()
1010
{
11-
@unlink(app_path('Access/Perimeters/Perimeter.php'));
11+
@unlink(app_path('Access/Perimeters/TestPerimeter.php'));
1212

1313
$this
14-
->artisan('make:perimeter', ['name' => 'Perimeter'])
14+
->artisan('make:perimeter', ['name' => 'TestPerimeter'])
1515
->assertOk()
1616
->run();
1717

18-
$this->assertFileExists(app_path('Access/Perimeters/Perimeter.php'));
19-
$this->assertStringContainsString('class Perimeter extends Perimeter', file_get_contents(app_path('Access/Perimeters/Perimeter.php')));
18+
$this->assertFileExists(app_path('Access/Perimeters/TestPerimeter.php'));
19+
$this->assertStringContainsString('class TestPerimeter extends Perimeter', file_get_contents(app_path('Access/Perimeters/TestPerimeter.php')));
2020

21-
unlink(app_path('Access/Perimeters/Perimeter.php'));
21+
unlink(app_path('Access/Perimeters/TestPerimeter.php'));
2222
}
2323

2424
public function test_make_overlay_perimeter_command()
2525
{
26-
@unlink(app_path('Access/Perimeters/Perimeter.php'));
26+
@unlink(app_path('Access/Perimeters/TestPerimeter.php'));
2727

2828
$this
29-
->artisan('make:perimeter', ['name' => 'Perimeter', '--overlay' => true])
29+
->artisan('make:perimeter', ['name' => 'TestPerimeter', '--overlay' => true])
3030
->assertOk()
3131
->run();
3232

33-
$this->assertFileExists(app_path('Access/Perimeters/Perimeter.php'));
34-
$this->assertStringContainsString('class Perimeter extends OverlayPerimeter', file_get_contents(app_path('Access/Perimeters/Perimeter.php')));
33+
$this->assertFileExists(app_path('Access/Perimeters/TestPerimeter.php'));
34+
$this->assertStringContainsString('class TestPerimeter extends OverlayPerimeter', file_get_contents(app_path('Access/Perimeters/TestPerimeter.php')));
3535

36-
unlink(app_path('Access/Perimeters/Perimeter.php'));
36+
unlink(app_path('Access/Perimeters/TestPerimeter.php'));
3737
}
3838

3939
public function test_make_control_command()
@@ -88,7 +88,7 @@ public function test_make_control_with_perimeters_command()
8888

8989
$this->assertFileExists(app_path('Access/Controls/TestControl.php'));
9090
$this->assertStringContainsString('class TestControl', file_get_contents(app_path('Access/Controls/TestControl.php')));
91-
$this->assertStringContainsString(app_path('Access/Perimeters/TestPerimeter.php').'::new()', file_get_contents(app_path('Access/Controls/TestControl.php')));
91+
$this->assertStringContainsString('App\\Access\\Perimeters\\TestPerimeter.php::new()', file_get_contents(app_path('Access/Controls/TestControl.php')));
9292

9393
unlink(app_path('Access/Perimeters/TestPerimeter.php'));
9494
unlink(app_path('Access/Perimeters/SecondTestPerimeter.php'));

0 commit comments

Comments
 (0)