silverstripe-behat-extension/src/Controllers/ModuleCommandTrait.php

30 lines
750 B
PHP
Raw Normal View History

2014-08-02 08:30:27 +02:00
<?php
namespace SilverStripe\BehatExtension\Controllers;
use InvalidArgumentException;
use SilverStripe\Core\Manifest\Module;
use SilverStripe\Core\Manifest\ModuleLoader;
trait ModuleCommandTrait
{
/**
* Find target module being tested
*
* @param string $name
* @param bool $error Throw error if not found
2014-08-02 08:30:27 +02:00
* @return Module
*/
protected function getModule($name, $error = true)
2014-08-02 08:30:27 +02:00
{
2022-04-13 07:37:24 +02:00
if (strpos($name ?? '', '@') === 0) {
$name = substr($name ?? '', 1);
2014-08-02 08:30:27 +02:00
}
$module = ModuleLoader::inst()->getManifest()->getModule($name);
if (!$module && $error) {
2014-08-02 08:30:27 +02:00
throw new InvalidArgumentException("No module $name installed");
}
return $module;
}
}