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\Api\Pagination\PaginationMetadata — Coverage: 100.0% | Lines: 64 | Complexity: 17 phpMyFAQ\Api\MetaService — Coverage: 80.7% | Lines: 57 | Complexity: 14 phpMyFAQ\Api\Filtering\FilterRequest — Coverage: 85.5% | Lines: 55 | Complexity: 36 phpMyFAQ\Api\Sorting\SortRequest — Coverage: 97.1% | Lines: 35 | Complexity: 21 phpMyFAQ\Api\Pagination\PaginationRequest — Coverage: 100.0% | Lines: 30 | Complexity: 6 phpMyFAQ\Api\Response\ApiResponse — Coverage: 100.0% | Lines: 26 | Complexity: 11 phpMyFAQ\Api\OAuthDiscoveryService — Coverage: 100.0% | Lines: 24 | Complexity: 10 phpMyFAQ\Api\ProblemDetails — Coverage: 80.0% | Lines: 15 | Complexity: 5

Methods

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

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Api\Pagination\PaginationMetadata::generateLinks — Coverage: 100.0% | Lines: 44 | Complexity: 13 phpMyFAQ\Api\Pagination\PaginationRequest::fromRequest — Coverage: 100.0% | Lines: 22 | Complexity: 4 phpMyFAQ\Api\MetaService::buildThemeColors — Coverage: 47.4% | Lines: 19 | Complexity: 3 phpMyFAQ\Api\MetaService::extractThemeVariables — Coverage: 93.3% | Lines: 15 | Complexity: 3 phpMyFAQ\Api\Filtering\FilterRequest::fromRequest — Coverage: 100.0% | Lines: 14 | Complexity: 7 phpMyFAQ\Api\ProblemDetails::toArray — Coverage: 78.6% | Lines: 14 | Complexity: 4 phpMyFAQ\Api\OAuthDiscoveryService::getMetaDiscovery — Coverage: 100.0% | Lines: 12 | Complexity: 4 phpMyFAQ\Api\Filtering\FilterRequest::parseBoolValue — Coverage: 63.6% | Lines: 11 | Complexity: 7 phpMyFAQ\Api\Pagination\PaginationMetadata::toArray — Coverage: 100.0% | Lines: 11 | Complexity: 1 phpMyFAQ\Api\MetaService::getPublicMetadata — Coverage: 100.0% | Lines: 10 | Complexity: 1 phpMyFAQ\Api\MetaService::buildEnabledFeatures — Coverage: 100.0% | Lines: 10 | Complexity: 1 phpMyFAQ\Api\Response\ApiResponse::error — Coverage: 100.0% | Lines: 10 | Complexity: 2 phpMyFAQ\Api\OAuthDiscoveryService::getDiscoveryDocument — Coverage: 100.0% | Lines: 9 | Complexity: 1 phpMyFAQ\Api\Pagination\PaginationMetadata::__construct — Coverage: 100.0% | Lines: 9 | Complexity: 3 phpMyFAQ\Api\Sorting\SortRequest::fromRequest — Coverage: 100.0% | Lines: 9 | Complexity: 6 phpMyFAQ\Api\Filtering\FilterRequest::parseFilterValue — Coverage: 100.0% | Lines: 8 | Complexity: 8 phpMyFAQ\Api\Filtering\FilterRequest::parseDateValue — Coverage: 87.5% | Lines: 8 | Complexity: 4 phpMyFAQ\Api\Response\ApiResponse::success — Coverage: 100.0% | Lines: 8 | Complexity: 2 phpMyFAQ\Api\Response\ApiResponse::buildMetadata — Coverage: 100.0% | Lines: 8 | Complexity: 7 phpMyFAQ\Api\Filtering\FilterRequest::parseDateTimeValue — Coverage: 57.1% | Lines: 7 | Complexity: 3 phpMyFAQ\Api\Sorting\SortRequest::validateOrder — Coverage: 85.7% | Lines: 7 | Complexity: 5 phpMyFAQ\Api\Pagination\PaginationRequest::__construct — Coverage: 100.0% | Lines: 6 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::toArray — Coverage: 100.0% | Lines: 6 | Complexity: 2 phpMyFAQ\Api\Sorting\SortRequest::toSqlOrderBy — Coverage: 100.0% | Lines: 4 | Complexity: 2 phpMyFAQ\Api\Sorting\SortRequest::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Api\OAuthDiscoveryService::isEnabled — Coverage: 100.0% | Lines: 2 | Complexity: 4 phpMyFAQ\Api\Pagination\PaginationRequest::validateLimit — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::escapeIdentifier — Coverage: 100.0% | Lines: 2 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::has — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::get — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::getFilters — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::hasFilters — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Filtering\FilterRequest::toArray — Coverage: 100.0% | Lines: 1 | Complexity: 2 phpMyFAQ\Api\MetaService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\MetaService::buildPublicLogoUrl — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\MetaService::toBool — Coverage: 100.0% | Lines: 1 | Complexity: 4 phpMyFAQ\Api\OAuthDiscoveryService::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\ProblemDetails::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::getField — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::getOrder — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::getOrderSql — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Api\Sorting\SortRequest::hasSort — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
phpMyFAQ\Api\Pagination\PaginationMetadata::generateLinks13100.0%
phpMyFAQ\Api\Filtering\FilterRequest::parseBoolValue9.3663.6%
phpMyFAQ\Api\Filtering\FilterRequest::parseFilterValue8100.0%
phpMyFAQ\Api\Filtering\FilterRequest::fromRequest7100.0%
phpMyFAQ\Api\Response\ApiResponse::buildMetadata7100.0%
phpMyFAQ\Api\Sorting\SortRequest::fromRequest6100.0%
phpMyFAQ\Api\Sorting\SortRequest::validateOrder5.0785.7%
phpMyFAQ\Api\MetaService::buildThemeColors4.3147.4%
phpMyFAQ\Api\ProblemDetails::toArray4.1678.6%
phpMyFAQ\Api\Filtering\FilterRequest::parseDateValue4.0387.5%
phpMyFAQ\Api\MetaService::toBool4100.0%
phpMyFAQ\Api\OAuthDiscoveryService::getMetaDiscovery4100.0%
phpMyFAQ\Api\OAuthDiscoveryService::isEnabled4100.0%
phpMyFAQ\Api\Pagination\PaginationRequest::fromRequest4100.0%
phpMyFAQ\Api\Filtering\FilterRequest::parseDateTimeValue3.7157.1%
phpMyFAQ\Api\MetaService::extractThemeVariables3.0093.3%
phpMyFAQ\Api\Pagination\PaginationMetadata::__construct3100.0%
phpMyFAQ\Api\Filtering\FilterRequest::toArray2100.0%
phpMyFAQ\Api\Response\ApiResponse::success2100.0%
phpMyFAQ\Api\Response\ApiResponse::error2100.0%
phpMyFAQ\Api\Sorting\SortRequest::toSqlOrderBy2100.0%
phpMyFAQ\Api\Sorting\SortRequest::toArray2100.0%
phpMyFAQ\Api\Filtering\FilterRequest::__construct1100.0%
phpMyFAQ\Api\Filtering\FilterRequest::has1100.0%
phpMyFAQ\Api\Filtering\FilterRequest::get1100.0%
phpMyFAQ\Api\Filtering\FilterRequest::getFilters1100.0%
phpMyFAQ\Api\Filtering\FilterRequest::hasFilters1100.0%
phpMyFAQ\Api\MetaService::__construct1100.0%
phpMyFAQ\Api\MetaService::getPublicMetadata1100.0%
phpMyFAQ\Api\MetaService::buildEnabledFeatures1100.0%
phpMyFAQ\Api\MetaService::buildPublicLogoUrl1100.0%
phpMyFAQ\Api\OAuthDiscoveryService::__construct1100.0%
phpMyFAQ\Api\OAuthDiscoveryService::getDiscoveryDocument1100.0%
phpMyFAQ\Api\Pagination\PaginationMetadata::toArray1100.0%
phpMyFAQ\Api\Pagination\PaginationRequest::__construct1100.0%
phpMyFAQ\Api\Pagination\PaginationRequest::validateLimit1100.0%
phpMyFAQ\Api\ProblemDetails::__construct1100.0%
phpMyFAQ\Api\Sorting\SortRequest::__construct1100.0%
phpMyFAQ\Api\Sorting\SortRequest::getField1100.0%
phpMyFAQ\Api\Sorting\SortRequest::getOrder1100.0%
phpMyFAQ\Api\Sorting\SortRequest::getOrderSql1100.0%
phpMyFAQ\Api\Sorting\SortRequest::hasSort1100.0%
phpMyFAQ\Api\Sorting\SortRequest::escapeIdentifier1100.0%