rector/vendor/fidry/cpu-core-counter/src/Finder/OnlyInPowerShellFinder.php
Tomas Votruba e79510ae2b Updated Rector to commit 0d55791128825909273d0cdd9743470236748d75
0d55791128 Fix downgrade build: exclude vendor/symplify/easy-parallel/ecs.php on parallel lint (#5584)
2024-02-08 04:24:11 +00:00

44 lines
1.2 KiB
PHP

<?php
/*
* This file is part of the Fidry CPUCounter Config package.
*
* (c) Théo FIDRY <theo.fidry@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare (strict_types=1);
namespace RectorPrefix202402\Fidry\CpuCoreCounter\Finder;
use function getenv;
use function sprintf;
final class OnlyInPowerShellFinder implements CpuCoreFinder
{
/**
* @var CpuCoreFinder
*/
private $decoratedFinder;
public function __construct(CpuCoreFinder $decoratedFinder)
{
$this->decoratedFinder = $decoratedFinder;
}
public function diagnose() : string
{
$powerShellModulePath = getenv('PSModulePath');
return $this->skip() ? sprintf('Skipped; no power shell module path detected ("%s").', $powerShellModulePath) : $this->decoratedFinder->diagnose();
}
public function find() : ?int
{
return $this->skip() ? null : $this->decoratedFinder->find();
}
public function toString() : string
{
return sprintf('OnlyInPowerShellFinder(%s)', $this->decoratedFinder->toString());
}
private function skip() : bool
{
return \false === getenv('PSModulePath');
}
}