Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Storage\S3Storage — Coverage: 97.1% | Lines: 69 | Complexity: 27 phpMyFAQ\Storage\FilesystemStorage — Coverage: 94.8% | Lines: 58 | Complexity: 31 phpMyFAQ\Storage\StorageFactory — Coverage: 84.5% | Lines: 58 | Complexity: 28 phpMyFAQ\Storage\TenantScopedStorage — Coverage: 93.8% | Lines: 16 | Complexity: 10

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 2 4 6 8 10 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Storage\StorageFactory::createS3Storage — Coverage: 74.1% | Lines: 27 | Complexity: 8 phpMyFAQ\Storage\FilesystemStorage::putStream — Coverage: 86.7% | Lines: 15 | Complexity: 7 phpMyFAQ\Storage\StorageFactory::resolveFilesystemRoot — Coverage: 81.8% | Lines: 11 | Complexity: 9 phpMyFAQ\Storage\FilesystemStorage::put — Coverage: 90.0% | Lines: 10 | Complexity: 5 phpMyFAQ\Storage\S3Storage::buildKey — Coverage: 100.0% | Lines: 10 | Complexity: 6 phpMyFAQ\Storage\S3Storage::putStream — Coverage: 100.0% | Lines: 9 | Complexity: 2 phpMyFAQ\Storage\StorageFactory::create — Coverage: 100.0% | Lines: 9 | Complexity: 4 phpMyFAQ\Storage\FilesystemStorage::normalizePathForUrl — Coverage: 100.0% | Lines: 8 | Complexity: 5 phpMyFAQ\Storage\S3Storage::get — Coverage: 100.0% | Lines: 8 | Complexity: 2 phpMyFAQ\Storage\S3Storage::size — Coverage: 100.0% | Lines: 8 | Complexity: 2 phpMyFAQ\Storage\TenantScopedStorage::prefixPath — Coverage: 87.5% | Lines: 8 | Complexity: 2 phpMyFAQ\Storage\FilesystemStorage::delete — Coverage: 100.0% | Lines: 7 | Complexity: 3 phpMyFAQ\Storage\S3Storage::put — Coverage: 100.0% | Lines: 7 | Complexity: 1 phpMyFAQ\Storage\S3Storage::delete — Coverage: 100.0% | Lines: 6 | Complexity: 1 phpMyFAQ\Storage\FilesystemStorage::get — Coverage: 100.0% | Lines: 5 | Complexity: 2 phpMyFAQ\Storage\FilesystemStorage::size — Coverage: 100.0% | Lines: 5 | Complexity: 2 phpMyFAQ\Storage\S3Storage::url — Coverage: 100.0% | Lines: 5 | Complexity: 3 phpMyFAQ\Storage\S3Storage::hasResultField — Coverage: 80.0% | Lines: 5 | Complexity: 3 phpMyFAQ\Storage\S3Storage::getResultField — Coverage: 80.0% | Lines: 5 | Complexity: 3 phpMyFAQ\Storage\FilesystemStorage::url — Coverage: 100.0% | Lines: 4 | Complexity: 3 phpMyFAQ\Storage\StorageFactory::readRequiredConfig — Coverage: 100.0% | Lines: 4 | Complexity: 3 phpMyFAQ\Storage\StorageFactory::readStringConfig — Coverage: 100.0% | Lines: 4 | Complexity: 2 phpMyFAQ\Storage\S3Storage::run — Coverage: 100.0% | Lines: 3 | Complexity: 2 phpMyFAQ\Storage\S3Storage::exists — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Storage\StorageFactory::tenantPrefix — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Storage\FilesystemStorage::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\FilesystemStorage::exists — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\FilesystemStorage::buildFullPath — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\FilesystemStorage::normalizePath — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\S3Storage::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\StorageFactory::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::put — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::putStream — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::get — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::delete — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::exists — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::url — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Storage\TenantScopedStorage::size — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
phpMyFAQ\Storage\StorageFactory::resolveFilesystemRoot9.4981.8%
phpMyFAQ\Storage\StorageFactory::createS3Storage9.1274.1%
phpMyFAQ\Storage\FilesystemStorage::putStream7.1286.7%
phpMyFAQ\Storage\S3Storage::buildKey6100.0%
phpMyFAQ\Storage\FilesystemStorage::put5.0390.0%
phpMyFAQ\Storage\FilesystemStorage::normalizePathForUrl5100.0%
phpMyFAQ\Storage\StorageFactory::create4100.0%
phpMyFAQ\Storage\S3Storage::hasResultField3.0780.0%
phpMyFAQ\Storage\S3Storage::getResultField3.0780.0%
phpMyFAQ\Storage\FilesystemStorage::delete3100.0%
phpMyFAQ\Storage\FilesystemStorage::url3100.0%
phpMyFAQ\Storage\S3Storage::url3100.0%
phpMyFAQ\Storage\StorageFactory::readRequiredConfig3100.0%
phpMyFAQ\Storage\TenantScopedStorage::prefixPath2.0187.5%
phpMyFAQ\Storage\FilesystemStorage::get2100.0%
phpMyFAQ\Storage\FilesystemStorage::size2100.0%
phpMyFAQ\Storage\S3Storage::putStream2100.0%
phpMyFAQ\Storage\S3Storage::get2100.0%
phpMyFAQ\Storage\S3Storage::size2100.0%
phpMyFAQ\Storage\S3Storage::run2100.0%
phpMyFAQ\Storage\StorageFactory::readStringConfig2100.0%
phpMyFAQ\Storage\FilesystemStorage::__construct1100.0%
phpMyFAQ\Storage\FilesystemStorage::exists1100.0%
phpMyFAQ\Storage\FilesystemStorage::buildFullPath1100.0%
phpMyFAQ\Storage\FilesystemStorage::normalizePath1100.0%
phpMyFAQ\Storage\S3Storage::__construct1100.0%
phpMyFAQ\Storage\S3Storage::put1100.0%
phpMyFAQ\Storage\S3Storage::delete1100.0%
phpMyFAQ\Storage\S3Storage::exists1100.0%
phpMyFAQ\Storage\StorageFactory::__construct1100.0%
phpMyFAQ\Storage\StorageFactory::tenantPrefix1100.0%
phpMyFAQ\Storage\TenantScopedStorage::__construct1100.0%
phpMyFAQ\Storage\TenantScopedStorage::put1100.0%
phpMyFAQ\Storage\TenantScopedStorage::putStream1100.0%
phpMyFAQ\Storage\TenantScopedStorage::get1100.0%
phpMyFAQ\Storage\TenantScopedStorage::delete1100.0%
phpMyFAQ\Storage\TenantScopedStorage::exists1100.0%
phpMyFAQ\Storage\TenantScopedStorage::url1100.0%
phpMyFAQ\Storage\TenantScopedStorage::size1100.0%