diff --git a/src/Authentication/Passwords/BaseValidator.php b/src/Authentication/Passwords/BaseValidator.php index b08a5e879..e6ad30cd6 100644 --- a/src/Authentication/Passwords/BaseValidator.php +++ b/src/Authentication/Passwords/BaseValidator.php @@ -15,7 +15,7 @@ use CodeIgniter\Shield\Config\Auth as AuthConfig; -class BaseValidator +abstract class BaseValidator { protected ?string $error = null; protected ?string $suggestion = null; diff --git a/src/Config/BaseAuthToken.php b/src/Config/BaseAuthToken.php index be8dcdfe9..3eb7b2920 100644 --- a/src/Config/BaseAuthToken.php +++ b/src/Config/BaseAuthToken.php @@ -15,7 +15,7 @@ use CodeIgniter\Config\BaseConfig; -class BaseAuthToken extends BaseConfig +abstract class BaseAuthToken extends BaseConfig { /** * List of HMAC Encryption Keys diff --git a/structarmed.php b/structarmed.php index 6cbe357fa..7b67b8809 100644 --- a/structarmed.php +++ b/structarmed.php @@ -5,6 +5,7 @@ use Boundwize\StructArmed\Architecture; use Boundwize\StructArmed\Preset\Preset; use Boundwize\StructArmed\Preset\Presets\Psr4Preset; +use Boundwize\StructArmed\Rule\Rules\Class_\ExtendedClassMustBeAbstractOrInstantiatedRule; use Boundwize\StructArmed\Rule\Rules\Class_\MustBeFinalRule; return Architecture::define() @@ -19,6 +20,9 @@ ]) ->cacheDirectory(is_dir('/tmp') ? '/tmp/structarmed' : null) ->withPresets(Preset::PSR4(), Preset::CODEQUALITY()) + + ->rule('base_classes.must_be_abstract', new ExtendedClassMustBeAbstractOrInstantiatedRule('Source', '/^CodeIgniter\\\\Shield\\\\.*Base.*$/')) + ->layer('tests', __DIR__ . '/tests') ->layerPattern('Model', '/^CodeIgniter\\\\Shield\\\\.*Model$/') ->layerPattern('Controller', '/^CodeIgniter\\\\Shield\\\\Controllers\\\\.*$/')