Skip to content

Commit 6e2d922

Browse files
authored
Merge pull request #23 from maartenpaauw/feature/add-override-attributes
Add override attributes
2 parents 0761bdb + 2068693 commit 6e2d922

13 files changed

+34
-2
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
"php": "^8.1",
2020
"illuminate/console": "^10.0|^11.0",
2121
"illuminate/support": "^10.0|^11.0",
22-
"spatie/laravel-package-tools": "^1.16.2"
22+
"spatie/laravel-package-tools": "^1.16.2",
23+
"symfony/polyfill-php83": "^1.30"
2324
},
2425
"require-dev": {
2526
"illuminate/testing": "^10.0|^11.0",

src/AndSpecification.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Maartenpaauw\Specifications;
66

7+
use Override;
8+
79
/**
810
* @template TCandidate
911
*
@@ -18,6 +20,7 @@ public function __construct(
1820
private readonly array $specifications,
1921
) {}
2022

23+
#[Override]
2124
public function isSatisfiedBy(mixed $candidate): bool
2225
{
2326
foreach ($this->specifications as $specification) {

src/Commands/MakeSpecificationCommand.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Maartenpaauw\Specifications\Commands;
66

77
use Illuminate\Console\GeneratorCommand;
8+
use Override;
89
use Symfony\Component\Console\Attribute\AsCommand;
910
use Symfony\Component\Console\Input\InputOption;
1011

@@ -19,6 +20,7 @@ final class MakeSpecificationCommand extends GeneratorCommand
1920
*/
2021
protected $type = 'Specification';
2122

23+
#[Override]
2224
protected function getStub(): string
2325
{
2426
if ($this->option('composite')) {
@@ -35,6 +37,7 @@ protected function getStub(): string
3537
/**
3638
* @inheritDoc
3739
*/
40+
#[Override]
3841
protected function getDefaultNamespace(mixed $rootNamespace): string
3942
{
4043
return sprintf('%s\Specifications', $rootNamespace);
@@ -43,6 +46,7 @@ protected function getDefaultNamespace(mixed $rootNamespace): string
4346
/**
4447
* @inheritDoc
4548
*/
49+
#[Override]
4650
protected function buildClass(mixed $name): string
4751
{
4852
$replacements = [
@@ -59,6 +63,7 @@ protected function buildClass(mixed $name): string
5963
/**
6064
* @return array<int, InputOption>
6165
*/
66+
#[Override]
6267
protected function getOptions(): array
6368
{
6469
return [

src/NotSpecification.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Maartenpaauw\Specifications;
66

7+
use Override;
8+
79
/**
810
* @template TCandidate
911
*
@@ -18,6 +20,7 @@ public function __construct(
1820
private readonly Specification $specification,
1921
) {}
2022

23+
#[Override]
2124
public function isSatisfiedBy(mixed $candidate): bool
2225
{
2326
return ! $this->specification->isSatisfiedBy($candidate);

src/OrSpecification.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Maartenpaauw\Specifications;
66

7+
use Override;
8+
79
/**
810
* @template TCandidate
911
*
@@ -18,6 +20,7 @@ public function __construct(
1820
private readonly array $specifications,
1921
) {}
2022

23+
#[Override]
2124
public function isSatisfiedBy(mixed $candidate): bool
2225
{
2326
foreach ($this->specifications as $specification) {

src/SpecificationsServiceProvider.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77
use Illuminate\Support\Collection;
88
use Maartenpaauw\Specifications\Commands\MakeSpecificationCommand;
99
use Maartenpaauw\Specifications\Laravel\CollectionMatchingMacro;
10+
use Override;
1011
use Spatie\LaravelPackageTools\Package;
1112
use Spatie\LaravelPackageTools\PackageServiceProvider;
1213

1314
final class SpecificationsServiceProvider extends PackageServiceProvider
1415
{
16+
#[Override]
1517
public function configurePackage(Package $package): void
1618
{
1719
$package
@@ -20,6 +22,7 @@ public function configurePackage(Package $package): void
2022
->hasCommand(MakeSpecificationCommand::class);
2123
}
2224

25+
#[Override]
2326
public function packageRegistered(): void
2427
{
2528
/** @var string $method */

src/VerboseSpecification.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Maartenpaauw\Specifications;
66

7+
use Override;
8+
79
/**
810
* @template TCandidate
911
*
@@ -40,6 +42,7 @@ public function message(): string
4042
*
4143
* @throws DissatisfiedSpecification
4244
*/
45+
#[Override]
4346
public function isSatisfiedBy(mixed $candidate): bool
4447
{
4548
if ($this->origin->isSatisfiedBy($candidate)) {

src/XorSpecification.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Maartenpaauw\Specifications;
66

7+
use Override;
8+
79
/**
810
* @template TCandidate
911
*
@@ -18,6 +20,7 @@ public function __construct(
1820
private readonly array $specifications,
1921
) {}
2022

23+
#[Override]
2124
public function isSatisfiedBy(mixed $candidate): bool
2225
{
2326
$satisfiedSpecifications = array_filter(

tests/Commands/MakeSpecificationCommandTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,6 @@ public function test_it_should_be_possible_to_create_a_composite_specification_w
9696

9797
protected function assertSpecificationMatchesSnapshot(string $name): void
9898
{
99-
$this->assertMatchesFileSnapshot(app_path(sprintf('Specifications/%s.php', $name)));
99+
$this->assertMatchesFileSnapshot(app_path(\sprintf('Specifications/%s.php', $name)));
100100
}
101101
}

workbench/app/LengthSpecification.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Workbench\App;
66

77
use Maartenpaauw\Specifications\CompositeSpecification;
8+
use Override;
89

910
/**
1011
* @extends CompositeSpecification<string>
@@ -18,6 +19,7 @@ public function __construct(
1819
/**
1920
* @inheritDoc
2021
*/
22+
#[Override]
2123
public function isSatisfiedBy(mixed $candidate): bool
2224
{
2325
return mb_strlen($candidate) === $this->length;

workbench/app/NegativeSpecification.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Workbench\App;
66

77
use Maartenpaauw\Specifications\CompositeSpecification;
8+
use Override;
89

910
/**
1011
* @extends CompositeSpecification<mixed>
@@ -14,6 +15,7 @@ final class NegativeSpecification extends CompositeSpecification
1415
/**
1516
* @inheritDoc
1617
*/
18+
#[Override]
1719
public function isSatisfiedBy(mixed $candidate): bool
1820
{
1921
return false;

workbench/app/PositiveSpecification.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Workbench\App;
66

77
use Maartenpaauw\Specifications\CompositeSpecification;
8+
use Override;
89

910
/**
1011
* @extends CompositeSpecification<mixed>
@@ -14,6 +15,7 @@ final class PositiveSpecification extends CompositeSpecification
1415
/**
1516
* @inheritDoc
1617
*/
18+
#[Override]
1719
public function isSatisfiedBy(mixed $candidate): bool
1820
{
1921
return true;

workbench/app/UppercaseSpecification.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Workbench\App;
66

77
use Maartenpaauw\Specifications\CompositeSpecification;
8+
use Override;
89

910
/**
1011
* @extends CompositeSpecification<string>
@@ -14,6 +15,7 @@ final class UppercaseSpecification extends CompositeSpecification
1415
/**
1516
* @inheritDoc
1617
*/
18+
#[Override]
1719
public function isSatisfiedBy(mixed $candidate): bool
1820
{
1921
return mb_strtoupper($candidate) === $candidate;

0 commit comments

Comments
 (0)