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\Auth\OAuth2\AuthorizationServer — Coverage: 70.3% | Lines: 128 | Complexity: 33 phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository — Coverage: 100.0% | Lines: 47 | Complexity: 15 phpMyFAQ\Auth\OAuth2\ResourceServer — Coverage: 76.7% | Lines: 43 | Complexity: 20 phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository — Coverage: 100.0% | Lines: 38 | Complexity: 10 phpMyFAQ\Auth\OAuth2\Repository\ClientRepository — Coverage: 97.4% | Lines: 38 | Complexity: 13 phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository — Coverage: 100.0% | Lines: 28 | Complexity: 7 phpMyFAQ\Auth\OAuth2\Repository\UserRepository — Coverage: 18.2% | Lines: 22 | Complexity: 8 phpMyFAQ\Auth\OAuth2\Repository\ScopeRepository — Coverage: 94.4% | Lines: 18 | Complexity: 5 phpMyFAQ\Auth\OAuth2\Entity\ClientEntity — Coverage: 100.0% | Lines: 6 | Complexity: 5 phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository — 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 8 10 Line Coverage (%) Cyclomatic Complexity phpMyFAQ\Auth\OAuth2\AuthorizationServer::completeAuthorization — Coverage: 40.0% | Lines: 40 | Complexity: 7 phpMyFAQ\Auth\OAuth2\AuthorizationServer::issueToken — Coverage: 61.1% | Lines: 36 | Complexity: 8 phpMyFAQ\Auth\OAuth2\AuthorizationServer::buildLeagueAuthorizationServer — Coverage: 100.0% | Lines: 25 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\ClientRepository::getClientEntity — Coverage: 95.8% | Lines: 24 | Complexity: 5 phpMyFAQ\Auth\OAuth2\ResourceServer::authenticate — Coverage: 58.3% | Lines: 24 | Complexity: 9 phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::persistNewAccessToken — Coverage: 100.0% | Lines: 22 | Complexity: 6 phpMyFAQ\Auth\OAuth2\Repository\UserRepository::getUserEntityByUserCredentials — Coverage: 18.2% | Lines: 22 | Complexity: 8 phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::persistNewAuthCode — Coverage: 100.0% | Lines: 21 | Complexity: 5 phpMyFAQ\Auth\OAuth2\Repository\ScopeRepository::getScopeEntityByIdentifier — Coverage: 94.1% | Lines: 17 | Complexity: 4 phpMyFAQ\Auth\OAuth2\Repository\ClientRepository::validateClient — Coverage: 100.0% | Lines: 14 | Complexity: 8 phpMyFAQ\Auth\OAuth2\AuthorizationServer::toPsr7Request — Coverage: 100.0% | Lines: 13 | Complexity: 3 phpMyFAQ\Auth\OAuth2\ResourceServer::toPsr7Request — Coverage: 100.0% | Lines: 13 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::isAccessTokenRevoked — Coverage: 100.0% | Lines: 11 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::isAuthCodeRevoked — Coverage: 100.0% | Lines: 11 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::persistNewRefreshToken — Coverage: 100.0% | Lines: 11 | Complexity: 2 phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::isRefreshTokenRevoked — Coverage: 100.0% | Lines: 11 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::getNewToken — Coverage: 100.0% | Lines: 9 | Complexity: 5 phpMyFAQ\Auth\OAuth2\AuthorizationServer::parseInterval — Coverage: 100.0% | Lines: 7 | Complexity: 3 phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::revokeAccessToken — Coverage: 100.0% | Lines: 5 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::revokeAuthCode — Coverage: 100.0% | Lines: 5 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::revokeRefreshToken — Coverage: 100.0% | Lines: 5 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::supportsGrantType — Coverage: 100.0% | Lines: 3 | Complexity: 2 phpMyFAQ\Auth\OAuth2\AuthorizationServer::isEnabled — Coverage: 100.0% | Lines: 2 | Complexity: 4 phpMyFAQ\Auth\OAuth2\AuthorizationServer::getConfigString — Coverage: 100.0% | Lines: 2 | Complexity: 2 phpMyFAQ\Auth\OAuth2\ResourceServer::isEnabled — Coverage: 100.0% | Lines: 2 | Complexity: 4 phpMyFAQ\Auth\OAuth2\ResourceServer::getConfigString — Coverage: 100.0% | Lines: 2 | Complexity: 2 phpMyFAQ\Auth\OAuth2\AuthorizationServer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\AuthorizationServer::setTokenIssuer — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\AuthorizationServer::setAuthorizationCompleter — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setName — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setRedirectUri — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setConfidential — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::db — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::table — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::getNewAuthCode — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::getNewRefreshToken — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\Repository\ScopeRepository::finalizeScopes — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\ResourceServer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 phpMyFAQ\Auth\OAuth2\ResourceServer::setTokenValidator — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

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

Method CRAP Coverage
phpMyFAQ\Auth\OAuth2\Repository\UserRepository::getUserEntityByUserCredentials43.0518.2%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::completeAuthorization17.5840.0%
phpMyFAQ\Auth\OAuth2\ResourceServer::authenticate14.8658.3%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::issueToken11.7661.1%
phpMyFAQ\Auth\OAuth2\Repository\ClientRepository::validateClient8100.0%
phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::persistNewAccessToken6100.0%
phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::getNewToken5100.0%
phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::persistNewAuthCode5100.0%
phpMyFAQ\Auth\OAuth2\Repository\ClientRepository::getClientEntity595.8%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::isEnabled4100.0%
phpMyFAQ\Auth\OAuth2\Repository\ScopeRepository::getScopeEntityByIdentifier4.0094.1%
phpMyFAQ\Auth\OAuth2\ResourceServer::isEnabled4100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::buildLeagueAuthorizationServer3100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::parseInterval3100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::toPsr7Request3100.0%
phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::isAccessTokenRevoked3100.0%
phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::isAuthCodeRevoked3100.0%
phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::isRefreshTokenRevoked3100.0%
phpMyFAQ\Auth\OAuth2\ResourceServer::toPsr7Request3100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::getConfigString2100.0%
phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::supportsGrantType2100.0%
phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::persistNewRefreshToken2100.0%
phpMyFAQ\Auth\OAuth2\ResourceServer::getConfigString2100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::__construct1100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::setTokenIssuer1100.0%
phpMyFAQ\Auth\OAuth2\AuthorizationServer::setAuthorizationCompleter1100.0%
phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setName1100.0%
phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setRedirectUri1100.0%
phpMyFAQ\Auth\OAuth2\Entity\ClientEntity::setConfidential1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::__construct1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::db1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AbstractRepository::table1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AccessTokenRepository::revokeAccessToken1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::getNewAuthCode1100.0%
phpMyFAQ\Auth\OAuth2\Repository\AuthCodeRepository::revokeAuthCode1100.0%
phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::getNewRefreshToken1100.0%
phpMyFAQ\Auth\OAuth2\Repository\RefreshTokenRepository::revokeRefreshToken1100.0%
phpMyFAQ\Auth\OAuth2\Repository\ScopeRepository::finalizeScopes1100.0%
phpMyFAQ\Auth\OAuth2\ResourceServer::__construct1100.0%
phpMyFAQ\Auth\OAuth2\ResourceServer::setTokenValidator1100.0%