Classes

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 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType — Coverage: 100.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType — Coverage: 50.0% | Lines: 12 | Complexity: 6 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository — Coverage: 100.0% | Lines: 11 | Complexity: 8 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository — Coverage: 100.0% | Lines: 5 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType — Coverage: 100.0% | Lines: 1 | Complexity: 1

Methods

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

0% 20% 40% 60% 80% 100% 0 1 2 3 4 Line Coverage (%) Cyclomatic Complexity App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToDatabaseValue — Coverage: 100.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToDatabaseValue — Coverage: 50.0% | Lines: 6 | Complexity: 3 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToPHPValue — Coverage: 100.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToPHPValue — Coverage: 75.0% | Lines: 4 | Complexity: 2 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::ofProviderSubject — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::remove — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::paginate — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::getSQLDeclaration — Coverage: 100.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::getSQLDeclaration — Coverage: 0.0% | Lines: 2 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofId — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofEmail — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::existsByEmail — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::count — Coverage: 100.0% | Lines: 1 | Complexity: 1 App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType::className — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToDatabaseValue4.1250.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToDatabaseValue3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToDatabaseValue3100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::convertToPHPValue2.0675.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::convertToPHPValue2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::convertToPHPValue2100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserStatusType::getSQLDeclaration20.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::__construct1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::save1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserIdentityRepository::ofProviderSubject1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::__construct1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::save1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::remove1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofId1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::ofEmail1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::existsByEmail1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::paginate1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\DoctrineUserRepository::count1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\EmailType::getSQLDeclaration1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\HashedPasswordType::getSQLDeclaration1100.0%
App\Identity\Infrastructure\Persistence\Doctrine\Type\UserIdType::className1100.0%