Fixed exception when plugin runs without options (Like "php_parallel_lint: "). Issue #44

This commit is contained in:
Dmitry Khomutov 2017-04-01 11:49:36 +07:00
commit 78c66a4dc3
No known key found for this signature in database
GPG key ID: 7EB36C9576F9ECB9
2 changed files with 6 additions and 1 deletions

View file

@ -193,7 +193,7 @@ class Executor
try {
// Build and run it
$obj = $this->pluginFactory->buildPlugin($class, $options);
$obj = $this->pluginFactory->buildPlugin($class, (is_null($options) ? [] : $options));
return $obj->execute();
} catch (\Exception $ex) {

View file

@ -2,6 +2,7 @@
namespace PHPCensor\Plugin\Util;
use PHPCensor\Plugin;
use Pimple\Container;
/**
@ -69,7 +70,9 @@ class Factory
*
* @param $className
* @param array|null $options
*
* @throws \InvalidArgumentException if $className doesn't represent a valid plugin
*
* @return \PHPCensor\Plugin
*/
public function buildPlugin($className, $options = [])
@ -89,8 +92,10 @@ class Factory
$argsToUse = $this->addArgFromParam($argsToUse, $param);
}
}
/** @var Plugin $plugin */
$plugin = $reflectedPlugin->newInstanceArgs($argsToUse);
} else {
/** @var Plugin $plugin */
$plugin = $reflectedPlugin->newInstance();
}