* Dariusz Rumiński * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Cache; /** * @author Dariusz Rumiński * * @internal */ final class Directory implements DirectoryInterface { private string $directoryName; public function __construct(string $directoryName) { $this->directoryName = $directoryName; } public function getRelativePathTo(string $file): string { $file = $this->normalizePath($file); if ( '' === $this->directoryName || 0 !== stripos($file, $this->directoryName.\DIRECTORY_SEPARATOR) ) { return $file; } return substr($file, \strlen($this->directoryName) + 1); } private function normalizePath(string $path): string { return str_replace(['\\', '/'], \DIRECTORY_SEPARATOR, $path); } }