Classes

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

0% 20% 40% 60% 80% 100% 0 5 10 15 20 25 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Tenant\TenantQuotaEnforcer — Coverage: 89.8% | Lines: 59 | Complexity: 20 phpMyFAQ\Tenant\TenantContextResolver — Coverage: 96.2% | Lines: 26 | Complexity: 10 phpMyFAQ\Tenant\TenantEventDispatcher — Coverage: 100.0% | Lines: 11 | Complexity: 6 phpMyFAQ\Tenant\TenantContext — Coverage: 100.0% | Lines: 7 | Complexity: 7 phpMyFAQ\Tenant\TenantQuotas — Coverage: 100.0% | Lines: 6 | Complexity: 6 phpMyFAQ\Tenant\TenantLifecycleEvent — Coverage: 100.0% | Lines: 3 | Complexity: 3

Methods

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

0% 20% 40% 60% 80% 100% 0 2 4 6 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCountWithinLimit — Coverage: 100.0% | Lines: 19 | Complexity: 4 phpMyFAQ\Tenant\TenantContextResolver::resolve — Coverage: 100.0% | Lines: 16 | Complexity: 3 phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanStoreAttachment — Coverage: 92.9% | Lines: 14 | Complexity: 4 phpMyFAQ\Tenant\TenantQuotaEnforcer::readAttachmentSizeBytes — Coverage: 70.0% | Lines: 10 | Complexity: 2 phpMyFAQ\Tenant\TenantContextResolver::readIntEnv — Coverage: 83.3% | Lines: 6 | Complexity: 4 phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateCategory — Coverage: 100.0% | Lines: 6 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotaEnforcer::extractFirstInt — Coverage: 66.7% | Lines: 6 | Complexity: 5 phpMyFAQ\Tenant\TenantContextResolver::readStringEnv — Coverage: 100.0% | Lines: 4 | Complexity: 3 phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantPlanChanged — Coverage: 100.0% | Lines: 4 | Complexity: 1 phpMyFAQ\Tenant\TenantEventDispatcher::dispatch — Coverage: 100.0% | Lines: 3 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getTenantId — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getHostname — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getTablePrefix — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getConfigDir — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getPlan — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantContext::getQuotas — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantEventDispatcher::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantCreated — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantSuspended — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantDeleted — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantLifecycleEvent::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantLifecycleEvent::getTenantId — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantLifecycleEvent::getContext — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotaEnforcer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotaEnforcer::createFromDatabaseDriver — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateFaq — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateUser — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::getMaxFaqs — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::getMaxAttachmentSize — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::getMaxUsers — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::getMaxApiRequests — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Tenant\TenantQuotas::getMaxCategories — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
phpMyFAQ\Tenant\TenantQuotaEnforcer::extractFirstInt5.9366.7%
phpMyFAQ\Tenant\TenantContextResolver::readIntEnv4.0783.3%
phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanStoreAttachment4.0192.9%
phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCountWithinLimit4100.0%
phpMyFAQ\Tenant\TenantContextResolver::resolve3100.0%
phpMyFAQ\Tenant\TenantContextResolver::readStringEnv3100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::readAttachmentSizeBytes2.1170.0%
phpMyFAQ\Tenant\TenantContext::__construct1100.0%
phpMyFAQ\Tenant\TenantContext::getTenantId1100.0%
phpMyFAQ\Tenant\TenantContext::getHostname1100.0%
phpMyFAQ\Tenant\TenantContext::getTablePrefix1100.0%
phpMyFAQ\Tenant\TenantContext::getConfigDir1100.0%
phpMyFAQ\Tenant\TenantContext::getPlan1100.0%
phpMyFAQ\Tenant\TenantContext::getQuotas1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::__construct1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantCreated1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantSuspended1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantDeleted1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::dispatchTenantPlanChanged1100.0%
phpMyFAQ\Tenant\TenantEventDispatcher::dispatch1100.0%
phpMyFAQ\Tenant\TenantLifecycleEvent::__construct1100.0%
phpMyFAQ\Tenant\TenantLifecycleEvent::getTenantId1100.0%
phpMyFAQ\Tenant\TenantLifecycleEvent::getContext1100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::__construct1100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::createFromDatabaseDriver1100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateFaq1100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateCategory1100.0%
phpMyFAQ\Tenant\TenantQuotaEnforcer::assertCanCreateUser1100.0%
phpMyFAQ\Tenant\TenantQuotas::__construct1100.0%
phpMyFAQ\Tenant\TenantQuotas::getMaxFaqs1100.0%
phpMyFAQ\Tenant\TenantQuotas::getMaxAttachmentSize1100.0%
phpMyFAQ\Tenant\TenantQuotas::getMaxUsers1100.0%
phpMyFAQ\Tenant\TenantQuotas::getMaxApiRequests1100.0%
phpMyFAQ\Tenant\TenantQuotas::getMaxCategories1100.0%