27 lines
784 B
PHP
27 lines
784 B
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Support\Architecture;
|
|
|
|
final class ArchitectureRuleRegistry
|
|
{
|
|
/** @return ArchitectureRule[] */
|
|
public function rules(): array
|
|
{
|
|
$rules = [];
|
|
foreach (config('architecture_governance.rules', []) as $rule) {
|
|
$rules[] = new ArchitectureRule(
|
|
id: $rule['id'],
|
|
description: $rule['description'],
|
|
severity: $rule['severity'] ?? 'error',
|
|
paths: $rule['paths'] ?? [],
|
|
patterns: $rule['patterns'] ?? [],
|
|
message: $rule['message'],
|
|
suggestedFix: $rule['suggested_fix'] ?? null,
|
|
excludePaths: $rule['exclude_paths'] ?? [],
|
|
);
|
|
}
|
|
|
|
return $rules;
|
|
}
|
|
}
|