Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
BrianHenryIE\Strauss\Helpers\Flysystem\FlysystemReaderBackCompatTrait0%
BrianHenryIE\Strauss\Helpers\Flysystem\PathSymlinkDetails0%
BrianHenryIE\Strauss\Pipeline\AutoloadedFilesEnumerator0%
BrianHenryIE\Strauss\Composer\DeepDependenciesCollection0%
BrianHenryIE\Strauss\AliasAutoloader0%
BrianHenryIE\Strauss\Helpers\ParserErrorException0%
BrianHenryIE\Strauss\Helpers\Log\RelativeFilepathLogProcessor30%
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor30%
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor20%
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor0%
BrianHenryIE\Strauss\Helpers\Flysystem\SymlinkProtectFilesystemAdapter0%
BrianHenryIE\Strauss\Pipeline\Autoload0%
BrianHenryIE\Strauss\Pipeline\Cleanup\Cleanup5%
BrianHenryIE\Strauss\Console\Commands\IncludeAutoloaderCommand11%
BrianHenryIE\Strauss\Console\Commands\PrefixComposerAutoloadFilesCommand11%
BrianHenryIE\Strauss\Pipeline\FileCopyScanner15%
BrianHenryIE\Strauss\Pipeline\MarkSymbolsForRenaming18%
BrianHenryIE\Strauss\Pipeline\FileEnumerator18%
BrianHenryIE\Strauss\Files\DiscoveredFiles18%
BrianHenryIE\Strauss\Console\Commands\ReplaceCommand21%
BrianHenryIE\Strauss\Console\Commands\DependenciesCommand22%
BrianHenryIE\Strauss\Types\TraitSymbol22%
BrianHenryIE\Strauss\Console\Commands\AbstractRenamespacerCommand29%
BrianHenryIE\Strauss\Pipeline\Autoload\ComposerAutoloadGenerator33%
BrianHenryIE\Strauss\Pipeline\Autoload\VendorComposerAutoload42%
BrianHenryIE\Strauss\Files\FileWithDependency46%
BrianHenryIE\Strauss\Helpers\Flysystem\PathPrefixer46%
BrianHenryIE\Strauss\Types\NamespacedSymbol48%
BrianHenryIE\Strauss\Types\NamespaceSymbol50%
BrianHenryIE\Strauss\Pipeline\Licenser53%
BrianHenryIE\Strauss\Helpers\Flysystem\FileSystem55%
BrianHenryIE\Strauss\Helpers\GitAttributes55%
BrianHenryIE\Strauss\Pipeline\Copier58%
BrianHenryIE\Strauss\Pipeline\Cleanup\InstalledJson59%
BrianHenryIE\Strauss\Composer\DependenciesCollection60%
BrianHenryIE\Strauss\Pipeline\ChangeEnumerator63%
BrianHenryIE\Strauss\Files\File64%
BrianHenryIE\Strauss\Composer\ComposerPackage66%
BrianHenryIE\Strauss\Types\DiscoveredSymbols66%
BrianHenryIE\Strauss\Composer\Extra\StraussConfig67%
BrianHenryIE\Strauss\Pipeline\FileSymbolScanner75%
BrianHenryIE\Strauss\Pipeline\Prefixer76%
BrianHenryIE\Strauss\Helpers\Flysystem\FlysystemAdapterBackCompatTrait77%
BrianHenryIE\Strauss\Types\ClassSymbol80%
BrianHenryIE\Strauss\Pipeline\DependenciesEnumerator81%
BrianHenryIE\Strauss\Types\DiscoveredSymbol82%
BrianHenryIE\Strauss\Pipeline\Autoload\Psr085%
BrianHenryIE\Strauss\Pipeline\Autoload\DumpAutoload87%
BrianHenryIE\Strauss\Pipeline\Aliases\Aliases88%

Project Risks

Class CRAP
BrianHenryIE\Strauss\Helpers\Flysystem\SymlinkProtectFilesystemAdapter15006
BrianHenryIE\Strauss\Pipeline\MarkSymbolsForRenaming1882
BrianHenryIE\Strauss\Pipeline\AutoloadedFilesEnumerator1806
BrianHenryIE\Strauss\Pipeline\Cleanup\Cleanup1613
BrianHenryIE\Strauss\Console\Commands\DependenciesCommand1279
BrianHenryIE\Strauss\Composer\Extra\StraussConfig873
BrianHenryIE\Strauss\Pipeline\Prefixer778
BrianHenryIE\Strauss\Pipeline\FileEnumerator735
BrianHenryIE\Strauss\AliasAutoloader462
BrianHenryIE\Strauss\Pipeline\FileCopyScanner438
BrianHenryIE\Strauss\Pipeline\Cleanup\InstalledJson357
BrianHenryIE\Strauss\Pipeline\FileSymbolScanner266
BrianHenryIE\Strauss\Helpers\Flysystem\FileSystem250
BrianHenryIE\Strauss\Console\Commands\AbstractRenamespacerCommand246
BrianHenryIE\Strauss\Types\DiscoveredSymbols241
BrianHenryIE\Strauss\Composer\ComposerPackage193
BrianHenryIE\Strauss\Pipeline\Autoload\VendorComposerAutoload166
BrianHenryIE\Strauss\Console\Commands\ReplaceCommand156
BrianHenryIE\Strauss\Pipeline\Licenser119
BrianHenryIE\Strauss\Files\DiscoveredFiles119
BrianHenryIE\Strauss\Helpers\GitAttributes95
BrianHenryIE\Strauss\Types\NamespacedSymbol81
BrianHenryIE\Strauss\Pipeline\ChangeEnumerator61
BrianHenryIE\Strauss\Files\FileWithDependency44
BrianHenryIE\Strauss\Helpers\Log\RelativeFilepathLogProcessor342
BrianHenryIE\Strauss\Composer\DeepDependenciesCollection42
BrianHenryIE\Strauss\Pipeline\DependenciesEnumerator37
BrianHenryIE\Strauss\Types\DiscoveredSymbol30
BrianHenryIE\Strauss\Helpers\Flysystem\PathPrefixer29
BrianHenryIE\Strauss\Pipeline\Aliases\Aliases29
BrianHenryIE\Strauss\Console\Commands\IncludeAutoloaderCommand22
BrianHenryIE\Strauss\Console\Commands\PrefixComposerAutoloadFilesCommand22
BrianHenryIE\Strauss\Pipeline\Autoload20
BrianHenryIE\Strauss\Helpers\Flysystem\FlysystemReaderBackCompatTrait20
BrianHenryIE\Strauss\Pipeline\Copier19
BrianHenryIE\Strauss\Pipeline\Autoload\DumpAutoload16
BrianHenryIE\Strauss\Composer\DependenciesCollection16
BrianHenryIE\Strauss\Helpers\Flysystem\FlysystemAdapterBackCompatTrait12
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor312
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor212
BrianHenryIE\Strauss\Pipeline\Autoload\Psr08
BrianHenryIE\Strauss\Helpers\Log\PadColonColumnsLogProcessor6

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
has0%
autoload0%
parentListDirectory0%
__construct0%
matchesPattern0%
make0%
__invoke0%
pad0%
__invoke0%
pad0%
__construct0%
__invoke0%
__construct0%
getParserErrorHandler0%
__construct0%
load0%
listContents0%
classTemplate0%
interfaceTemplate0%
traitTemplate0%
__construct0%
generate0%
__construct0%
getSuffix0%
__construct0%
addVendorPrefixedAutoloadToVendorAutoload0%
addVendorPrefixedAutoloadToComposerAutoload0%
__construct0%
scanForAutoloadedFiles0%
scanPackage0%
markIncludedFilesRecursive0%
parentListDirectoryRecursively0%
fileSize0%
processClassmapFiles0%
removeSymlink0%
isSubDirOf0%
isDirectoryEmpty0%
setLocalFsLocation0%
stripPrefix0%
stripDirectoryPrefix0%
prefixDirectoryPath0%
__construct0%
isSymlink0%
__construct0%
getSymlinkDetails0%
getSymlinkInPath0%
recordSymlink0%
isSymlinked0%
getSymlinks0%
isWindowsOS0%
lastModified0%
getVendorRelativePath0%
write0%
writeStream0%
setVisibility0%
delete0%
deleteDirectory0%
createDirectory0%
move0%
copy0%
fileExists0%
read0%
readStream0%
visibility0%
mimeType0%
resolveIncludePath0%
__construct0%
findAllFilesAbsolutePaths0%
getDiscoveredClasses0%
preparePattern0%
replaceInProjectFiles0%
getModifiedFiles0%
prefixComposerAutoloadFiles0%
getNamespaceFromFqdn0%
getParser0%
getExtends0%
getInterfaces0%
isAbstract0%
getPackageName0%
__toString0%
getDependencies0%
getAllClasses0%
getDiscoveredConstants0%
isExcludeConstantsNamespace0%
getDiscoveredTraits0%
getDiscoveredInterfaces0%
getNamespaceSymbolByString0%
originalLocalNames0%
__serialize0%
offsetExists0%
offsetGet0%
offsetSet0%
offsetUnset0%
isChangedNamespace0%
isPsr0Autoloaded0%
getPsr0NamespaceString0%
getUses0%
getAutoloadAliasArray0%
isExcludedConstantsFilePattern0%
isExcludeConstantsPackage0%
globalOrPsr00%
preparePattern0%
determineNamespaceReplacement0%
deleteFiles0%
cleanupVendorInstalledJson0%
rebuildVendorAutoloader0%
stripPharPrefix0%
deleteEmptyDirectories0%
doIsDeleteVendorPackages0%
doIsDeleteVendorFiles0%
removeMovedPackagesAutoloadKeyFromVendorDirInstalledJson0%
prepareTarget0%
getAllFilesAutoloaders0%
scanFiles0%
isPackageExcluded0%
isNamespaceExcluded0%
__construct0%
isExcludedFromPrefixFilePattern0%
excludeGitFiles0%
isGitExcluded0%
parsePhpCode0%
copyLicenses0%
getDiscoveredLicenseFiles0%
addInformationToUpdatedFiles0%
__construct0%
__construct0%
symbolIsAutoloaded0%
excludeFromPrefix0%
isSymbolFoundInFileThatIsNotCopied0%
isSymbolFoundInFileThatIsCopied0%
isExcludeFromPrefixPackage0%
isExcludeFromPrefixNamespace0%
isSymlinked0%
normalizePath0%
setAdapter0%
configureLogger0%
setDryRun0%
isPsr0Autoloaded0%
__toString0%
isIncludeRootAutoload0%
getAdapter0%
setIncludeRootAutoload0%
isCreateAliases0%
setProjectAbsolutePath0%
getDiscoveredSymbolsDeep0%
getAuthor0%
initialize0%
setLogger0%
getFlatDependencyTree0%
isDryRun0%
execute0%
getMonologLogger0%
configureMonologLogger0%
getPsrLogger0%
createConfig0%
loadConfigFromComposerJson0%
updateConfigFromCli0%
getDependencies0%
buildDependencyList0%
getExcludePackagesFromCopy0%
enumerateFiles0%
enumeratePsrNamespaces0%
getDiscoveredSymbols0%
isFilesAutoloaded0%
setNamespaceReplacementPatterns0%
scanFilesForSymbols0%
getAbsoluteVendorDirectory0%
getExcludeFilePatternsFromCopy0%
setExcludeFilesFromUpdates0%
getExcludeFilesFromUpdatePackages0%
getExcludeFileFromUpdateNamespaces0%
getExcludeFilesFromUpdateFilePatterns0%
setExcludeFromCopy0%
setExcludePackagesFromPrefixing0%
getExcludeNamespacesFromPrefixing0%
setExcludeConstants0%
getExcludePackagesFromConstantPrefixing0%
getExcludeNamespacesFromConstantPrefixing0%
getExcludeFilePatternsFromConstantPrefixing0%
getExcludeConstantNames0%
getRelativeTargetDirectory0%
getNamespaceReplacementPatterns0%
getPackagesToCopy0%
isTargetDirectoryVendor0%
count0%
offsetUnset0%
offsetSet0%
getIterator0%
setPackagesToCopy0%
getPackagesToPrefix0%
getDependenciesRecursive0%
__construct0%
setPackagesToPrefix0%
isClassmapOutput0%
setClassmapOutput0%
enumerateAutoloadedFiles0%
addDependency0%
markSymbolsForRenaming0%
getDidUpdate0%
getIterator0%
offsetExists0%
offsetGet0%
offsetSet0%
offsetUnset0%
count0%
getPsr00%
setDoCopy0%
isAutoloaded0%
isDoDelete0%
setDidDelete0%
getDidDelete0%
getDiscoveredSymbols0%
setTargetAbsolutePath0%
getNamespaces0%
getFile0%
addFile0%
addAutoloader0%
isFilesAutoloaderFile0%
getPackageRelativePath0%
addAutoloaderType0%
setAutoloaderTypes0%
getRealPath0%
setRealpath0%
getAutoloaderTypes0%
isPsr00%
isAutoloaded0%
setPackageAbsolutePath0%
setProjectVendorDirectory0%
hasPsr00%
determineChanges0%
sort0%
addLicenses0%
addLicenses0%
loadProjectComposerPackage0%
execute0%
cleanUp0%
prefixComposerAutoloadFiles0%
generateAliasesFile0%
generateAutoloader0%
getFiles0%
loadProjectComposerPackage0%
addDiscoveredSymbol0%
performReplacementsInProjectFiles0%
performReplacements0%
copyFiles0%
analyseFilesToCopy0%
markFilesExcludedFromChanges0%
execute0%
loadConfigFromComposerJson0%
getFile0%
updateConfigFromCli0%
performReplacementsInProjectFiles0%
performReplacements0%
determineChanges0%
loadConfigFromComposerJson0%
enumerateFiles0%
execute0%
getConfig0%
getExcludeNamespacesFromCopy0%
addFile9%
execute17%
has22%
removeMissingAutoloadKeyPaths31%
updatePackagePaths34%
hasMalformedNamespaceDeclaration43%
isFilePathExcluded47%
__construct50%
removeMovedPackagesAutoloadKeyFromTargetDirInstalledJson52%
replaceInFile55%
addAliasesFileToComposer58%
updateFromCli61%
setUpdateCallSites61%
addDiscoveredClassChange61%
getJsonFile62%
setExcludeFromPrefix66%
prefixPath66%
isBuiltInSymbol66%
getFsRoot66%
checkPregError66%
directoryExists66%
findLicenseFiles68%
updateNamespaces70%
scanSymbols72%
getRelativePath73%
splitByNamespace74%
getReplacementStringForNode75%
add75%
getOriginalSymbolStripPrefix75%
get76%
getGlobalSymbolForNode76%
compileFileListForPaths76%
replaceConstant77%
createInstalledVersionsFiles78%
copy79%
directoryExistsImplementation80%
getReplacementFqdnName80%
__construct80%
__construct80%
determineReplacements80%
getFunctionAliasesString81%
recursiveGetAllDependencies82%
__construct83%
find84%
cleanTargetDirInstalledJson84%
nextSignificantTokenIndex85%
getFunctionsPrefix85%
getAttributes85%
aliasedFunctionTemplate86%
getNamespaceDeclarations86%
replaceNamespaces86%
compileFileListForDependencies87%
isExportIgnored87%
findInFiles88%
isComposerInstalled88%
__construct88%
setTargetDirectory89%

Project Risks

Method CRAP
move342
scanPackage306
copy210
listContents156
scanFiles156
removeMissingAutoloadKeyPaths148
isGitExcluded132
resolveIncludePath110
getPsrLogger110
matchesPattern90
markIncludedFilesRecursive90
delete90
deleteDirectory90
excludeGitFiles72
prefixComposerAutoloadFiles72
cleanupVendorInstalledJson72
buildDependencyList72
enumeratePsrNamespaces72
deleteEmptyDirectories72
getPsr0NamespaceString72
has57
write56
setVisibility56
writeStream56
createDirectory56
autoload56
addVendorPrefixedAutoloadToComposerAutoload56
addFile43
excludeFromPrefix42
offsetExists42
replaceInProjectFiles42
getSymlinkInPath42
copyFiles42
replaceConstant37
replaceNamespaces36
isExcludedConstantsFilePattern30
setExcludeConstants30
__invoke30
isExcludedFromPrefixFilePattern30
classTemplate30
addVendorPrefixedAutoloadToVendorAutoload30
isNamespaceExcluded30
prepareTarget30
deleteFiles30
addLicenses30
stripPharPrefix30
doIsDeleteVendorPackages30
updateFromCli28
hasMalformedNamespaceDeclaration27
determineReplacements25
recursiveGetAllDependencies23
updateNamespaces21
rebuildVendorAutoloader20
isExcludeConstantsNamespace20
removeMovedPackagesAutoloadKeyFromVendorDirInstalledJson20
copyLicenses20
isExcludeFromPrefixNamespace20
parsePhpCode20
addInformationToUpdatedFiles20
has20
execute20
findAllFilesAbsolutePaths20
isSymlinked20
getDependenciesRecursive20
isAutoloaded20
getSymlinkDetails20
find19
getNamespaceDeclarations17
__construct16
getFunctionAliasesString16
replaceInFile16
updatePackagePaths15
setUpdateCallSites15
splitByNamespace14
scanSymbols12
cleanUp12
getDiscoveredSymbolsDeep12
performReplacementsInProjectFiles12
getAllFilesAutoloaders12
parentListDirectory12
setExcludeFilesFromUpdates12
setExcludeFromCopy12
isCreateAliases12
generateAutoloader12
symbolIsAutoloaded12
isSymbolFoundInFileThatIsNotCopied12
isSymbolFoundInFileThatIsCopied12
isExcludeFromPrefixPackage12
doIsDeleteVendorFiles12
removeSymlink12
interfaceTemplate12
isDirectoryEmpty12
prefixDirectoryPath12
generate12
traitTemplate12
globalOrPsr012
processClassmapFiles12
removeMovedPackagesAutoloadKeyFromTargetDirInstalledJson9
findInFiles9
getGlobalSymbolForNode8
findLicenseFiles8
directoryExistsImplementation8
setTargetDirectory7
addAliasesFileToComposer6
getRelativePath6
compileFileListForPaths6
isFilePathExcluded6
cleanTargetDirInstalledJson6
__construct6
__invoke6
performReplacementsInProjectFiles6
getSuffix6
getMonologLogger6
preparePattern6
getNamespaceFromFqdn6
__invoke6
recordSymlink6
load6
isExcludeConstantsPackage6
getParser6
preparePattern6
make6
setProjectVendorDirectory6
getAdapter6
getDiscoveredClasses6
setAdapter6
enumerateFiles6
getPackageName6
execute6
isPackageExcluded6
execute6
scanForAutoloadedFiles6
__construct6
execute6
getVendorRelativePath6
generateAliasesFile6
getPsr06
add5
copy5
getFunctionsPrefix5
__construct5
addDiscoveredClassChange4
setExcludeFromPrefix4
execute4
get4
__construct4
getAttributes4
nextSignificantTokenIndex4
isExportIgnored4
getJsonFile3
directoryExists3
getOriginalSymbolStripPrefix3
createInstalledVersionsFiles3
__construct3
getReplacementFqdnName3
compileFileListForDependencies3
__construct2
checkPregError2
isBuiltInSymbol2
prefixPath2
getFsRoot2
getReplacementStringForNode2
isComposerInstalled2