From ad357234363ab82a805b2c83852359a1c6979353 Mon Sep 17 00:00:00 2001 From: Kuba Date: Fri, 12 Aug 2016 12:04:56 +0200 Subject: [PATCH 1/2] code inspection and cleanup --- src/Contracts/Runnable.php | 1 - src/Core/Dispatcher.php | 5 ++--- src/Core/Event.php | 1 + src/Core/Scenario.php | 13 +++++++++++++ src/Core/ScenarioFactory.php | 7 +++---- src/Core/ScenarioRepository.php | 2 ++ src/Core/ScenarioStepsList.php | 14 +++++++++++++- 7 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/Contracts/Runnable.php b/src/Contracts/Runnable.php index 367edc9..1bcc0ab 100644 --- a/src/Contracts/Runnable.php +++ b/src/Contracts/Runnable.php @@ -1,7 +1,6 @@ scenarioRepository->findHandlerScenarioFor($event); - $reaction = $this->scenarioRunner->run($scenario, $event); - - return $reaction; + return $this->scenarioRunner->run($scenario, $event); } } \ No newline at end of file diff --git a/src/Core/Event.php b/src/Core/Event.php index 0bc1f11..510debd 100644 --- a/src/Core/Event.php +++ b/src/Core/Event.php @@ -94,6 +94,7 @@ public function expect(array $expectedReactions) /** * @return mixed + * @throws \Keios\Apparatus\Exceptions\NoHandlerScenarioFoundException */ public function getReaction() { diff --git a/src/Core/Scenario.php b/src/Core/Scenario.php index 1ff9714..3827c9c 100644 --- a/src/Core/Scenario.php +++ b/src/Core/Scenario.php @@ -117,6 +117,9 @@ public function has($property) /** * @return mixed + * @throws \Keios\Apparatus\Exceptions\NoStepForEventFoundException + * @throws \Keios\Apparatus\Exceptions\NotInitializedException + * @throws \Keios\Apparatus\Exceptions\NoStepsDefinedException */ public function run() { @@ -158,6 +161,9 @@ public function dispatch($eventName, $data, array $expectedReactions) /** * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException + * @throws \Keios\Apparatus\Exceptions\StepAlreadyRegisteredException */ public function add(Step $step) { @@ -168,6 +174,9 @@ public function add(Step $step) /** * @param $stepName * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\NoStepWithNameFoundException + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException */ public function replace($stepName, Step $step) { @@ -177,6 +186,8 @@ public function replace($stepName, Step $step) /** * @param $stepName * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException */ public function insertBefore($stepName, Step $step) { @@ -186,6 +197,8 @@ public function insertBefore($stepName, Step $step) /** * @param $stepName * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException */ public function insertAfter($stepName, Step $step) { diff --git a/src/Core/ScenarioFactory.php b/src/Core/ScenarioFactory.php index 7ef16b2..52f593a 100644 --- a/src/Core/ScenarioFactory.php +++ b/src/Core/ScenarioFactory.php @@ -32,6 +32,7 @@ public function __construct(LoaderInterface $scenarioLoader) * @param \Keios\Apparatus\Contracts\Dispatchable $event * * @return mixed + * @throws \Keios\Apparatus\Exceptions\InvalidScenarioException * @throws \Keios\Apparatus\Exceptions\NoHandlerScenarioFoundException */ public function findHandlerScenarioFor(Dispatchable $event) @@ -93,11 +94,9 @@ protected function make($eventName) protected function resolveClosure($closure) { $scenario = $closure(); - - if ($interfaces = class_implements($scenario)) { - if (in_array('Keios\Apparatus\Contracts\Runnable', $interfaces)) { + $interfaces = class_implements($scenario); + if ($interfaces && in_array('Keios\Apparatus\Contracts\Runnable', $interfaces, true)) { return is_object($scenario) ? $scenario : new $scenario(); - } } throw new InvalidScenarioException( diff --git a/src/Core/ScenarioRepository.php b/src/Core/ScenarioRepository.php index 570bb93..fecb539 100644 --- a/src/Core/ScenarioRepository.php +++ b/src/Core/ScenarioRepository.php @@ -31,6 +31,8 @@ public function __construct(ScenarioFactory $scenarioFactory) * @param \Keios\Apparatus\Contracts\Dispatchable $event * * @return mixed + * @throws \Keios\Apparatus\Exceptions\InvalidScenarioException + * @throws \Keios\Apparatus\Exceptions\NoHandlerScenarioFoundException */ public function findHandlerScenarioFor(Dispatchable $event) { diff --git a/src/Core/ScenarioStepsList.php b/src/Core/ScenarioStepsList.php index 407e78c..d1963ac 100644 --- a/src/Core/ScenarioStepsList.php +++ b/src/Core/ScenarioStepsList.php @@ -33,7 +33,7 @@ class ScenarioStepsList /** * @var null|Step */ - protected $currentStep = null; + protected $currentStep; /** * @var \Keios\Apparatus\Contracts\Runnable @@ -52,6 +52,7 @@ public function __construct(Runnable $scenario) * @param $eventName * * @throws \Keios\Apparatus\Exceptions\NoStepsDefinedException + * @throws \Keios\Apparatus\Exceptions\NoStepForEventFoundException */ public function initialize($eventName) { @@ -117,6 +118,7 @@ public function getPreviousStep() /** * @return bool + * @throws \Keios\Apparatus\Exceptions\NotInitializedException */ public function hasNextStep() { @@ -125,6 +127,7 @@ public function hasNextStep() /** * @return bool + * @throws \Keios\Apparatus\Exceptions\NotInitializedException */ public function hasPreviousStep() { @@ -133,6 +136,7 @@ public function hasPreviousStep() /** * + * @throws \Keios\Apparatus\Exceptions\NotInitializedException */ public function moveToNextStep() { @@ -142,6 +146,7 @@ public function moveToNextStep() /** * + * @throws \Keios\Apparatus\Exceptions\NotInitializedException */ public function moveToPreviousStep() { @@ -202,6 +207,9 @@ public function getStepForEvent($eventName) /** * @param $stepName * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException + * @throws \Keios\Apparatus\Exceptions\NoStepWithNameFoundException */ public function insertAfter($stepName, Step $step) { @@ -211,6 +219,9 @@ public function insertAfter($stepName, Step $step) /** * @param $stepName * @param \Keios\Apparatus\Core\Step $step + * + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException + * @throws \Keios\Apparatus\Exceptions\NoStepWithNameFoundException */ public function insertBefore($stepName, Step $step) { @@ -222,6 +233,7 @@ public function insertBefore($stepName, Step $step) * @param \Keios\Apparatus\Core\Step $replacingStep * * @throws \Keios\Apparatus\Exceptions\NoStepWithNameFoundException + * @throws \Keios\Apparatus\Exceptions\EventAlreadyRegisteredException */ public function replace($stepNameToReplace, Step $replacingStep) { From c36a3ee1e8cd60f17bbe2b8bafbe72018b3d1a86 Mon Sep 17 00:00:00 2001 From: Kuba Date: Fri, 12 Aug 2016 13:25:27 +0200 Subject: [PATCH 2/2] further phpdocs and code inspect corrections --- src/Contracts/Dispatchable.php | 9 ++++++++- src/Contracts/LoaderInterface.php | 7 +++++++ src/Contracts/Runnable.php | 24 ++++++++++++++++++++++++ src/Core/Dispatcher.php | 1 + src/Core/Event.php | 4 ++-- src/Core/Scenario.php | 12 +++++++++--- src/Core/ScenarioConfiguration.php | 8 ++++---- src/Core/ScenarioFactory.php | 4 ++-- src/Core/ScenarioRunner.php | 2 +- src/Core/ScenarioStepsList.php | 22 ++++++++++------------ src/Core/SideAction.php | 6 ++++++ src/Core/Step.php | 15 +++++++-------- 12 files changed, 81 insertions(+), 33 deletions(-) diff --git a/src/Contracts/Dispatchable.php b/src/Contracts/Dispatchable.php index c759488..45c4406 100644 --- a/src/Contracts/Dispatchable.php +++ b/src/Contracts/Dispatchable.php @@ -1,12 +1,17 @@ scenario = $scenario; diff --git a/src/Core/Step.php b/src/Core/Step.php index 4313cdb..14a1045 100644 --- a/src/Core/Step.php +++ b/src/Core/Step.php @@ -15,7 +15,7 @@ class Step protected static $sideActionsCache = []; /** - * @var + * @var string */ protected $name; @@ -25,7 +25,7 @@ class Step protected $action; /** - * @var + * @var Runnable */ protected $scenario; @@ -40,7 +40,7 @@ class Step protected $sideActions = []; /** - * @param $name + * @param string $name * @param callable $action * @param array $triggeringEvents */ @@ -80,7 +80,7 @@ public function __invoke($lastStepResult) } /** - * @return mixed + * @return string|null */ public function getName() { @@ -97,7 +97,9 @@ public function getTriggeringEvents() /** * @fluent + * * @param callable $sideAction + * * @return Step */ public function with(callable $sideAction) @@ -107,9 +109,6 @@ public function with(callable $sideAction) return $this; } - /** - * - */ protected function importSideActions() { if (isset(static::$sideActionsCache[$this->name]) && is_array(static::$sideActionsCache[$this->name])) { @@ -143,7 +142,7 @@ protected function executeSideActions($result) } /** - * @param $stepName + * @param string $stepName * @param callable $sideAction */ public static function addSideAction($stepName, callable $sideAction)