Skip to content

Commit

Permalink
Use decision instead of string for continuing state
Browse files Browse the repository at this point in the history
  • Loading branch information
cybersai committed Dec 27, 2023
1 parent 74e95a3 commit 0e87ac6
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/Contracts/ContinueState.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@

interface ContinueState extends State
{
public function confirm(): string;
public function confirm(): Decision;
}
2 changes: 1 addition & 1 deletion src/Ussd.php
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ private function operate(): array
$record->forget(static::HALT);
$record->set(static::CURB, true);

if ($this->continuingState->confirm() === $this->context->input()) {
if ($this->continuingState->confirm()->decide($this->context->input())) {
$record->set(static::HEAL, $spur);
}
}
Expand Down
6 changes: 4 additions & 2 deletions tests/Dummy/ContinuingState.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace Sparors\Ussd\Tests\Dummy;

use Sparors\Ussd\Contracts\ContinueState;
use Sparors\Ussd\Contracts\Decision;
use Sparors\Ussd\Decisions\Equal;
use Sparors\Ussd\Menu;

class ContinuingState implements ContinueState
Expand All @@ -15,8 +17,8 @@ public function render(): Menu
->text('Any to start');
}

public function confirm(): string
public function confirm(): Decision
{
return '1';
return new Equal(1);
}
}

0 comments on commit 0e87ac6

Please sign in to comment.