Classes

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

0% 20% 40% 60% 80% 100% 0 5 10 15 20 Line Coverage (%) Cyclomatic Complexity App\Shared\Infrastructure\Persistence\Doctrine\Schema\ForeignKeyConstraintListener — Coverage: 100.0% | Lines: 49 | Complexity: 1 App\Shared\Infrastructure\Storage\ImageStorage — Coverage: 95.8% | Lines: 24 | Complexity: 15 App\Shared\Infrastructure\Console\PruneMediaCommand — Coverage: 90.9% | Lines: 22 | Complexity: 8 App\Shared\Infrastructure\Controllers\FileController — Coverage: 100.0% | Lines: 15 | Complexity: 4 App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType — Coverage: 100.0% | Lines: 14 | Complexity: 6 App\Shared\Infrastructure\Http\ReadsJsonPayload — Coverage: 92.9% | Lines: 14 | Complexity: 8 App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType — Coverage: 100.0% | Lines: 13 | Complexity: 6 App\Shared\Domain\ValueObject\Money — Coverage: 100.0% | Lines: 8 | Complexity: 8 App\Shared\Infrastructure\Storage\SignedImageUrl — Coverage: 100.0% | Lines: 8 | Complexity: 3 App\Shared\Domain\ValueObject\Currency — Coverage: 100.0% | Lines: 6 | Complexity: 7 App\Shared\Domain\ValueObject\DateRange — Coverage: 100.0% | Lines: 6 | Complexity: 7 App\Shared\Domain\ValueObject\Uuid — Coverage: 100.0% | Lines: 6 | Complexity: 7 App\Shared\Domain\ValueObject\IsoDate — Coverage: 100.0% | Lines: 5 | Complexity: 5

Methods

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

0% 20% 40% 60% 80% 100% 0 2 4 6 8 Line Coverage (%) Cyclomatic Complexity App\Shared\Infrastructure\Persistence\Doctrine\Schema\ForeignKeyConstraintListener::postGenerateSchema — Coverage: 100.0% | Lines: 49 | Complexity: 1 App\Shared\Infrastructure\Controllers\FileController::show — Coverage: 100.0% | Lines: 14 | Complexity: 3 App\Shared\Infrastructure\Console\PruneMediaCommand::execute — Coverage: 84.6% | Lines: 13 | Complexity: 4 App\Shared\Infrastructure\Storage\ImageStorage::store — Coverage: 100.0% | Lines: 13 | Complexity: 7 App\Shared\Infrastructure\Console\PruneMediaCommand::referencedNames — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Shared\Infrastructure\Storage\SignedImageUrl::for — Coverage: 100.0% | Lines: 7 | Complexity: 2 App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Shared\Domain\ValueObject\IsoDate::parse — Coverage: 100.0% | Lines: 5 | Complexity: 5 App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::convertToPHPValue — Coverage: 100.0% | Lines: 5 | Complexity: 2 App\Shared\Infrastructure\Storage\ImageStorage::delete — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Shared\Infrastructure\Storage\ImageStorage::storedNames — Coverage: 75.0% | Lines: 4 | Complexity: 3 App\Shared\Infrastructure\Http\ReadsJsonPayload::decodeJsonBody — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Shared\Infrastructure\Http\ReadsJsonPayload::boolField — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Shared\Infrastructure\Http\ReadsJsonPayload::intField — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::getSQLDeclaration — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::getSQLDeclaration — Coverage: 100.0% | Lines: 3 | Complexity: 1 App\Shared\Domain\ValueObject\Currency::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 3 App\Shared\Domain\ValueObject\DateRange::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Shared\Domain\ValueObject\Money::add — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Shared\Domain\ValueObject\Money::assertSameCurrency — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Shared\Domain\ValueObject\Uuid::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Shared\Infrastructure\Http\ReadsJsonPayload::stringField — Coverage: 100.0% | Lines: 2 | Complexity: 2 App\Shared\Domain\ValueObject\Currency::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Currency::code — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Currency::minorUnits — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Currency::equals — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\DateRange::fromIso — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\DateRange::start — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\DateRange::end — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\DateRange::equals — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Shared\Domain\ValueObject\Money::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Money::amount — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Money::currency — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Money::equals — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Shared\Domain\ValueObject\Uuid::__toString — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Uuid::generate — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Uuid::value — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Domain\ValueObject\Uuid::equals — Coverage: 100.0% | Lines: 1 | Complexity: 2 App\Shared\Infrastructure\Console\PruneMediaCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Infrastructure\Console\PruneMediaCommand::configure — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Infrastructure\Controllers\FileController::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Infrastructure\Storage\ImageStorage::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Infrastructure\Storage\ImageStorage::absolutePath — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Shared\Infrastructure\Storage\SignedImageUrl::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Shared\Infrastructure\Storage\ImageStorage::store7100.0%
App\Shared\Domain\ValueObject\IsoDate::parse5100.0%
App\Shared\Infrastructure\Console\PruneMediaCommand::execute4.0684.6%
App\Shared\Infrastructure\Storage\ImageStorage::storedNames3.1475.0%
App\Shared\Domain\ValueObject\Currency::__construct3100.0%
App\Shared\Infrastructure\Controllers\FileController::show3100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::convertToDatabaseValue3100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::convertToDatabaseValue3100.0%
App\Shared\Infrastructure\Storage\ImageStorage::delete3100.0%
App\Shared\Infrastructure\Http\ReadsJsonPayload::boolField2.0675.0%
App\Shared\Domain\ValueObject\DateRange::__construct2100.0%
App\Shared\Domain\ValueObject\DateRange::equals2100.0%
App\Shared\Domain\ValueObject\Money::equals2100.0%
App\Shared\Domain\ValueObject\Money::assertSameCurrency2100.0%
App\Shared\Domain\ValueObject\Uuid::__construct2100.0%
App\Shared\Domain\ValueObject\Uuid::equals2100.0%
App\Shared\Infrastructure\Console\PruneMediaCommand::referencedNames2100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::convertToPHPValue2100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::convertToPHPValue2100.0%
App\Shared\Infrastructure\Storage\SignedImageUrl::for2100.0%
App\Shared\Infrastructure\Http\ReadsJsonPayload::decodeJsonBody2100.0%
App\Shared\Infrastructure\Http\ReadsJsonPayload::stringField2100.0%
App\Shared\Infrastructure\Http\ReadsJsonPayload::intField2100.0%
App\Shared\Domain\ValueObject\Currency::__toString1100.0%
App\Shared\Domain\ValueObject\Currency::code1100.0%
App\Shared\Domain\ValueObject\Currency::minorUnits1100.0%
App\Shared\Domain\ValueObject\Currency::equals1100.0%
App\Shared\Domain\ValueObject\DateRange::fromIso1100.0%
App\Shared\Domain\ValueObject\DateRange::start1100.0%
App\Shared\Domain\ValueObject\DateRange::end1100.0%
App\Shared\Domain\ValueObject\Money::__construct1100.0%
App\Shared\Domain\ValueObject\Money::amount1100.0%
App\Shared\Domain\ValueObject\Money::currency1100.0%
App\Shared\Domain\ValueObject\Money::add1100.0%
App\Shared\Domain\ValueObject\Uuid::__toString1100.0%
App\Shared\Domain\ValueObject\Uuid::generate1100.0%
App\Shared\Domain\ValueObject\Uuid::value1100.0%
App\Shared\Infrastructure\Console\PruneMediaCommand::__construct1100.0%
App\Shared\Infrastructure\Console\PruneMediaCommand::configure1100.0%
App\Shared\Infrastructure\Controllers\FileController::__construct1100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Schema\ForeignKeyConstraintListener::postGenerateSchema1100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\CurrencyType::getSQLDeclaration1100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::getSQLDeclaration1100.0%
App\Shared\Infrastructure\Storage\ImageStorage::__construct1100.0%
App\Shared\Infrastructure\Storage\ImageStorage::absolutePath1100.0%
App\Shared\Infrastructure\Storage\SignedImageUrl::__construct1100.0%
App\Shared\Infrastructure\Persistence\Doctrine\Type\UuidType::className0100.0%