Skip to content

Commit d663b55

Browse files
committed
Refactor exception messages to use sprintf for improved readability and consistency
1 parent fe51d82 commit d663b55

File tree

4 files changed

+28
-10
lines changed

4 files changed

+28
-10
lines changed

src/Exceptions/InvalidStateMachineConfigurationException.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ public function __construct(
1111
mixed $config,
1212
?string $modelClass = null
1313
) {
14-
$modelInfo = $modelClass ? " for {$modelClass}" : '';
14+
$modelInfo = $modelClass ? sprintf(' for %s', $modelClass) : '';
1515
$configType = is_object($config) ? get_class($config) : gettype($config);
16-
$message = "Invalid state machine configuration for field '{$field}'{$modelInfo}. " .
17-
"Expected string or array with 'machine' key, got {$configType}.";
16+
$message = sprintf(
17+
"Invalid state machine configuration for field '%s'%s. Expected string or array with 'machine' key, got %s.",
18+
$field,
19+
$modelInfo,
20+
$configType
21+
);
1822

1923
parent::__construct($message);
2024
}

src/Exceptions/InvalidStateTransitionException.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,15 @@ public function __construct(
1212
string $field,
1313
?string $modelClass = null
1414
) {
15-
$modelInfo = $modelClass ? " for {$modelClass}" : '';
15+
$modelInfo = $modelClass ? sprintf(' for %s', $modelClass) : '';
1616
$fromText = $from ?? 'null (new model)';
17-
$message = "Invalid state transition from '{$fromText}' to '{$to}' for field '{$field}'{$modelInfo}. This transition is not allowed by the state machine.";
17+
$message = sprintf(
18+
"Invalid state transition from '%s' to '%s' for field '%s'%s. This transition is not allowed by the state machine.",
19+
$fromText,
20+
$to,
21+
$field,
22+
$modelInfo
23+
);
1824

1925
parent::__construct($message);
2026
}

src/Exceptions/NoStateMachineConfiguredException.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ public function __construct(
1010
string $field,
1111
?string $modelClass = null
1212
) {
13-
$modelInfo = $modelClass ? " for {$modelClass}" : '';
14-
$message = "No state machine configured for field '{$field}'{$modelInfo}.";
13+
$modelInfo = $modelClass ? sprintf(' for %s', $modelClass) : '';
14+
$message = sprintf("No state machine configured for field '%s'%s.", $field, $modelInfo);
1515

1616
parent::__construct($message);
1717
}

src/Exceptions/StateTransitionBlockedException.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,20 @@ public function __construct(
1515
?string $modelClass = null,
1616
?string $reason = null
1717
) {
18-
$modelInfo = $modelClass ? " for {$modelClass}" : '';
18+
$modelInfo = $modelClass ? sprintf(' for %s', $modelClass) : '';
1919
$guardClass = get_class($guard);
20-
$reasonInfo = $reason ? ": {$reason}" : '';
20+
$reasonInfo = $reason ? sprintf(': %s', $reason) : '';
2121
$fromText = $from ?? 'null (new model)';
2222

23-
$message = "State transition from '{$fromText}' to '{$to}' for field '{$field}'{$modelInfo} was blocked by guard {$guardClass}{$reasonInfo}.";
23+
$message = sprintf(
24+
"State transition from '%s' to '%s' for field '%s'%s was blocked by guard %s%s.",
25+
$fromText,
26+
$to,
27+
$field,
28+
$modelInfo,
29+
$guardClass,
30+
$reasonInfo
31+
);
2432

2533
parent::__construct($message);
2634
}

0 commit comments

Comments
 (0)