refactor: Übergangs-API der Gesamtsperre entfernt (assertWritable, writable, refusal, writeFeatures, released); DiviLocked verlangt die gesperrten Fähigkeiten, Tests bauen Zustände über ReleaseMatrices
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c036a92b60
commit
d0d3488df8
@@ -10,7 +10,10 @@ use LIT\MCP\Integrations\Divi\Release\FeatureStatus;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseState;
|
||||
use LIT\MCP\Integrations\Divi\Release\ReleaseStatus;
|
||||
|
||||
/** Release statuses for tests: every feature released except the named ones. */
|
||||
/**
|
||||
* Release statuses for tests, built the way production builds them (ReleaseStatus::of() with a matrix): every feature
|
||||
* released except the named ones, all released, or all in one state.
|
||||
*/
|
||||
final class ReleaseMatrices
|
||||
{
|
||||
/** @param list<DiviFeature> $locked */
|
||||
@@ -38,4 +41,27 @@ final class ReleaseMatrices
|
||||
): ReleaseStatus {
|
||||
return ReleaseStatus::of($version, self::matrix($locked, $state));
|
||||
}
|
||||
|
||||
/**
|
||||
* Every feature released from $source (DiviReleases::TESTED = code, ReleaseStore = database, auto).
|
||||
*
|
||||
* @param array<string, mixed>|null $release The database entry of a SOURCE_DATABASE release.
|
||||
*/
|
||||
public static function released(
|
||||
string $version = '5.2.1',
|
||||
string $source = ReleaseStatus::SOURCE_CODE,
|
||||
?array $release = null
|
||||
): ReleaseStatus {
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::allReleased($source), $release);
|
||||
}
|
||||
|
||||
/**
|
||||
* Every feature in $state with $problems (an unreleased or broken Divi as a whole).
|
||||
*
|
||||
* @param list<string> $problems
|
||||
*/
|
||||
public static function uniform(ReleaseState $state, string $version = '5.3.0', array $problems = []): ReleaseStatus
|
||||
{
|
||||
return ReleaseStatus::of($version, CompatibilityMatrix::uniform($state, $problems));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user