2025-08-03 20:59:09 +02:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< title > Dashboard for /var/www/html/backend/app/Services< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< link href = "../_css/bootstrap.min.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/nv.d3.min.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/style.css?v=11.0.10" rel = "stylesheet" type = "text/css" >
< link href = "../_css/custom.css" rel = "stylesheet" type = "text/css" >
< / head >
< body >
< header >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-md-12" >
< nav aria-label = "breadcrumb" >
< ol class = "breadcrumb" >
< li class = "breadcrumb-item" > < a href = "../index.html" > /var/www/html/backend/app< / a > < / li >
< li class = "breadcrumb-item" > < a href = "index.html" > Services< / a > < / li >
< li class = "breadcrumb-item active" > (Dashboard)< / li >
< / ol >
< / nav >
< / div >
< / div >
< / div >
< / header >
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-md-12" >
< h2 > Classes< / h2 >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Coverage Distribution< / h3 >
< div id = "classCoverageDistribution" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Complexity< / h3 >
< div id = "classComplexity" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Insufficient Coverage< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Class< / th >
< th class = "text-right" > Coverage< / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Auth/LemmyAuthService.php.html#11" > App\Services\Auth\LemmyAuthService< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "OnboardingRedirectService.php.html#8" > App\Services\OnboardingRedirectService< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#5" > App\Services\Parsers\BelgaArticlePageParser< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaHomepageParser.php.html#5" > App\Services\Parsers\BelgaHomepageParser< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#5" > App\Services\Parsers\VrtArticlePageParser< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParser.php.html#5" > App\Services\Parsers\VrtHomepageParser< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#17" > App\Services\Publishing\ArticlePublishingService< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "RoutingValidationService.php.html#10" > App\Services\RoutingValidationService< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "SystemStatusService.php.html#10" > App\Services\SystemStatusService< / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Http/HttpFetcher.php.html#8" > App\Services\Http\HttpFetcher< / a > < / td > < td class = "text-right" > 22%< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Parsers/BelgaHomepageParserAdapter.php.html#7" > App\Services\Parsers\BelgaHomepageParserAdapter< / a > < / td > < td class = "text-right" > 25%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParserAdapter.php.html#7" > App\Services\Parsers\VrtHomepageParserAdapter< / a > < / td > < td class = "text-right" > 25%< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Parsers/BelgaArticleParser.php.html#7" > App\Services\Parsers\BelgaArticleParser< / a > < / td > < td class = "text-right" > 33%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticleParser.php.html#7" > App\Services\Parsers\VrtArticleParser< / a > < / td > < td class = "text-right" > 33%< / td > < / tr >
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#10" > App\Services\Factories\ArticleParserFactory< / a > < / td > < td class = "text-right" > 36%< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#14" > App\Services\Article\ArticleFetcher< / a > < / td > < td class = "text-right" > 45%< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Article/ValidationService.php.html#7" > App\Services\Article\ValidationService< / a > < / td > < td class = "text-right" > 48%< / td > < / tr >
< tr > < td > < a href = "Log/LogSaver.php.html#9" > App\Services\Log\LogSaver< / a > < / td > < td class = "text-right" > 58%< / td > < / tr >
< tr > < td > < a href = "Factories/HomepageParserFactory.php.html#11" > App\Services\Factories\HomepageParserFactory< / a > < / td > < td class = "text-right" > 87%< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Project Risks< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Class< / th >
< th class = "text-right" > < abbr title = "Change Risk Anti-Patterns (CRAP) Index" > CRAP< / abbr > < / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#5" > App\Services\Parsers\BelgaArticlePageParser< / a > < / td > < td class = "text-right" > 306< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#5" > App\Services\Parsers\VrtArticlePageParser< / a > < / td > < td class = "text-right" > 210< / td > < / tr >
< tr > < td > < a href = "SystemStatusService.php.html#10" > App\Services\SystemStatusService< / a > < / td > < td class = "text-right" > 72< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Http/HttpFetcher.php.html#8" > App\Services\Http\HttpFetcher< / a > < / td > < td class = "text-right" > 46< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Auth/LemmyAuthService.php.html#11" > App\Services\Auth\LemmyAuthService< / a > < / td > < td class = "text-right" > 42< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Article/ArticleFetcher.php.html#14" > App\Services\Article\ArticleFetcher< / a > < / td > < td class = "text-right" > 30< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#17" > App\Services\Publishing\ArticlePublishingService< / a > < / td > < td class = "text-right" > 30< / td > < / tr >
< tr > < td > < a href = "RoutingValidationService.php.html#10" > App\Services\RoutingValidationService< / a > < / td > < td class = "text-right" > 30< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#10" > App\Services\Factories\ArticleParserFactory< / a > < / td > < td class = "text-right" > 15< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Article/ValidationService.php.html#7" > App\Services\Article\ValidationService< / a > < / td > < td class = "text-right" > 8< / td > < / tr >
< tr > < td > < a href = "Log/LogSaver.php.html#9" > App\Services\Log\LogSaver< / a > < / td > < td class = "text-right" > 8< / td > < / tr >
< tr > < td > < a href = "OnboardingRedirectService.php.html#8" > App\Services\OnboardingRedirectService< / a > < / td > < td class = "text-right" > 6< / td > < / tr >
< tr > < td > < a href = "Factories/HomepageParserFactory.php.html#11" > App\Services\Factories\HomepageParserFactory< / a > < / td > < td class = "text-right" > 5< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-12" >
< h2 > Methods< / h2 >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Coverage Distribution< / h3 >
< div id = "methodCoverageDistribution" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Complexity< / h3 >
< div id = "methodComplexity" style = "height: 300px;" >
< svg > < / svg >
< / div >
< / div >
< / div >
< div class = "row" >
< div class = "col-md-6" >
< h3 > Insufficient Coverage< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Method< / th >
< th class = "text-right" > Coverage< / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#100" > < abbr title = "App\Services\Article\ArticleFetcher::saveArticle" > saveArticle< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Article/ValidationService.php.html#39" > < abbr title = "App\Services\Article\ValidationService::validateByKeywords" > validateByKeywords< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Auth/LemmyAuthService.php.html#16" > < abbr title = "App\Services\Auth\LemmyAuthService::getToken" > getToken< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#36" > < abbr title = "App\Services\Factories\ArticleParserFactory::getSupportedSources" > getSupportedSources< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#47" > < abbr title = "App\Services\Factories\ArticleParserFactory::registerParser" > registerParser< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Http/HttpFetcher.php.html#33" > < abbr title = "App\Services\Http\HttpFetcher::fetchMultipleUrls" > fetchMultipleUrls< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Log/LogSaver.php.html#38" > < abbr title = "App\Services\Log\LogSaver::debug" > debug< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "OnboardingRedirectService.php.html#10" > < abbr title = "App\Services\OnboardingRedirectService::handleRedirect" > handleRedirect< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#7" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractTitle" > extractTitle< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#32" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractDescription" > extractDescription< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#52" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractFullArticle" > extractFullArticle< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#83" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractThumbnail" > extractThumbnail< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#101" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractData" > extractData< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticleParser.php.html#14" > < abbr title = "App\Services\Parsers\BelgaArticleParser::extractData" > extractData< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticleParser.php.html#19" > < abbr title = "App\Services\Parsers\BelgaArticleParser::getSourceName" > getSourceName< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaHomepageParser.php.html#10" > < abbr title = "App\Services\Parsers\BelgaHomepageParser::extractArticleUrls" > extractArticleUrls< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaHomepageParserAdapter.php.html#14" > < abbr title = "App\Services\Parsers\BelgaHomepageParserAdapter::extractArticleUrls" > extractArticleUrls< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaHomepageParserAdapter.php.html#19" > < abbr title = "App\Services\Parsers\BelgaHomepageParserAdapter::getHomepageUrl" > getHomepageUrl< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaHomepageParserAdapter.php.html#24" > < abbr title = "App\Services\Parsers\BelgaHomepageParserAdapter::getSourceName" > getSourceName< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#7" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractTitle" > extractTitle< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#27" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractDescription" > extractDescription< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#42" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractFullArticle" > extractFullArticle< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#67" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractThumbnail" > extractThumbnail< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#83" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractData" > extractData< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticleParser.php.html#14" > < abbr title = "App\Services\Parsers\VrtArticleParser::extractData" > extractData< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticleParser.php.html#19" > < abbr title = "App\Services\Parsers\VrtArticleParser::getSourceName" > getSourceName< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParser.php.html#10" > < abbr title = "App\Services\Parsers\VrtHomepageParser::extractArticleUrls" > extractArticleUrls< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParserAdapter.php.html#14" > < abbr title = "App\Services\Parsers\VrtHomepageParserAdapter::extractArticleUrls" > extractArticleUrls< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParserAdapter.php.html#19" > < abbr title = "App\Services\Parsers\VrtHomepageParserAdapter::getHomepageUrl" > getHomepageUrl< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtHomepageParserAdapter.php.html#24" > < abbr title = "App\Services\Parsers\VrtHomepageParserAdapter::getSourceName" > getSourceName< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#24" > < abbr title = "App\Services\Publishing\ArticlePublishingService::publishToRoutedChannels" > publishToRoutedChannels< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#54" > < abbr title = "App\Services\Publishing\ArticlePublishingService::publishToChannel" > publishToChannel< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "RoutingValidationService.php.html#16" > < abbr title = "App\Services\RoutingValidationService::validateLanguageCompatibility" > validateLanguageCompatibility< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "SystemStatusService.php.html#15" > < abbr title = "App\Services\SystemStatusService::getSystemStatus" > getSystemStatus< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "SystemStatusService.php.html#48" > < abbr title = "App\Services\SystemStatusService::canProcessArticles" > canProcessArticles< / abbr > < / a > < / td > < td class = "text-right" > 0%< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#48" > < abbr title = "App\Services\Article\ArticleFetcher::getArticlesFromWebsiteFeed" > getArticlesFromWebsiteFeed< / abbr > < / a > < / td > < td class = "text-right" > 38%< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#19" > < abbr title = "App\Services\Article\ArticleFetcher::getArticlesFromFeed" > getArticlesFromFeed< / abbr > < / a > < / td > < td class = "text-right" > 44%< / td > < / tr >
< tr > < td > < a href = "Log/LogSaver.php.html#46" > < abbr title = "App\Services\Log\LogSaver::log" > log< / abbr > < / a > < / td > < td class = "text-right" > 53%< / td > < / tr >
< tr > < td > < a href = "Article/ValidationService.php.html#9" > < abbr title = "App\Services\Article\ValidationService::validate" > validate< / abbr > < / a > < / td > < td class = "text-right" > 66%< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#20" > < abbr title = "App\Services\Factories\ArticleParserFactory::getParser" > getParser< / abbr > < / a > < / td > < td class = "text-right" > 80%< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Factories/HomepageParserFactory.php.html#24" > < abbr title = "App\Services\Factories\HomepageParserFactory::getParser" > getParser< / abbr > < / a > < / td > < td class = "text-right" > 80%< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Article/ArticleFetcher.php.html#83" > < abbr title = "App\Services\Article\ArticleFetcher::fetchArticleData" > fetchArticleData< / abbr > < / a > < / td > < td class = "text-right" > 88%< / td > < / tr >
2025-08-03 20:59:09 +02:00
< / tbody >
< / table >
< / div >
< / div >
< div class = "col-md-6" >
< h3 > Project Risks< / h3 >
< div class = "scrollbox" >
< table class = "table" >
< thead >
< tr >
< th > Method< / th >
< th class = "text-right" > < abbr title = "Change Risk Anti-Patterns (CRAP) Index" > CRAP< / abbr > < / th >
< / tr >
< / thead >
< tbody >
< tr > < td > < a href = "SystemStatusService.php.html#15" > < abbr title = "App\Services\SystemStatusService::getSystemStatus" > getSystemStatus< / abbr > < / a > < / td > < td class = "text-right" > 56< / td > < / tr >
< tr > < td > < a href = "Auth/LemmyAuthService.php.html#16" > < abbr title = "App\Services\Auth\LemmyAuthService::getToken" > getToken< / abbr > < / a > < / td > < td class = "text-right" > 42< / td > < / tr >
< tr > < td > < a href = "Http/HttpFetcher.php.html#33" > < abbr title = "App\Services\Http\HttpFetcher::fetchMultipleUrls" > fetchMultipleUrls< / abbr > < / a > < / td > < td class = "text-right" > 42< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#7" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractTitle" > extractTitle< / abbr > < / a > < / td > < td class = "text-right" > 30< / td > < / tr >
< tr > < td > < a href = "RoutingValidationService.php.html#16" > < abbr title = "App\Services\RoutingValidationService::validateLanguageCompatibility" > validateLanguageCompatibility< / abbr > < / a > < / td > < td class = "text-right" > 30< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#32" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractDescription" > extractDescription< / abbr > < / a > < / td > < td class = "text-right" > 20< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#52" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractFullArticle" > extractFullArticle< / abbr > < / a > < / td > < td class = "text-right" > 20< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#7" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractTitle" > extractTitle< / abbr > < / a > < / td > < td class = "text-right" > 20< / td > < / tr >
< tr > < td > < a href = "Article/ValidationService.php.html#39" > < abbr title = "App\Services\Article\ValidationService::validateByKeywords" > validateByKeywords< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Parsers/BelgaArticlePageParser.php.html#83" > < abbr title = "App\Services\Parsers\BelgaArticlePageParser::extractThumbnail" > extractThumbnail< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#27" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractDescription" > extractDescription< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#42" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractFullArticle" > extractFullArticle< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Parsers/VrtArticlePageParser.php.html#67" > < abbr title = "App\Services\Parsers\VrtArticlePageParser::extractThumbnail" > extractThumbnail< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#24" > < abbr title = "App\Services\Publishing\ArticlePublishingService::publishToRoutedChannels" > publishToRoutedChannels< / abbr > < / a > < / td > < td class = "text-right" > 12< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#100" > < abbr title = "App\Services\Article\ArticleFetcher::saveArticle" > saveArticle< / abbr > < / a > < / td > < td class = "text-right" > 6< / td > < / tr >
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#47" > < abbr title = "App\Services\Factories\ArticleParserFactory::registerParser" > registerParser< / abbr > < / a > < / td > < td class = "text-right" > 6< / td > < / tr >
< tr > < td > < a href = "OnboardingRedirectService.php.html#10" > < abbr title = "App\Services\OnboardingRedirectService::handleRedirect" > handleRedirect< / abbr > < / a > < / td > < td class = "text-right" > 6< / td > < / tr >
< tr > < td > < a href = "Publishing/ArticlePublishingService.php.html#54" > < abbr title = "App\Services\Publishing\ArticlePublishingService::publishToChannel" > publishToChannel< / abbr > < / a > < / td > < td class = "text-right" > 6< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#48" > < abbr title = "App\Services\Article\ArticleFetcher::getArticlesFromWebsiteFeed" > getArticlesFromWebsiteFeed< / abbr > < / a > < / td > < td class = "text-right" > 5< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#19" > < abbr title = "App\Services\Article\ArticleFetcher::getArticlesFromFeed" > getArticlesFromFeed< / abbr > < / a > < / td > < td class = "text-right" > 4< / td > < / tr >
2025-08-03 21:16:59 +02:00
< tr > < td > < a href = "Factories/ArticleParserFactory.php.html#20" > < abbr title = "App\Services\Factories\ArticleParserFactory::getParser" > getParser< / abbr > < / a > < / td > < td class = "text-right" > 3< / td > < / tr >
2025-08-03 20:59:09 +02:00
< tr > < td > < a href = "Factories/HomepageParserFactory.php.html#24" > < abbr title = "App\Services\Factories\HomepageParserFactory::getParser" > getParser< / abbr > < / a > < / td > < td class = "text-right" > 3< / td > < / tr >
< tr > < td > < a href = "Log/LogSaver.php.html#46" > < abbr title = "App\Services\Log\LogSaver::log" > log< / abbr > < / a > < / td > < td class = "text-right" > 2< / td > < / tr >
< tr > < td > < a href = "Article/ValidationService.php.html#9" > < abbr title = "App\Services\Article\ValidationService::validate" > validate< / abbr > < / a > < / td > < td class = "text-right" > 2< / td > < / tr >
< tr > < td > < a href = "Article/ArticleFetcher.php.html#83" > < abbr title = "App\Services\Article\ArticleFetcher::fetchArticleData" > fetchArticleData< / abbr > < / a > < / td > < td class = "text-right" > 2< / td > < / tr >
< / tbody >
< / table >
< / div >
< / div >
< / div >
< footer >
< hr / >
< p >
2025-08-03 21:16:59 +02:00
< small > Generated by < a href = "https://github.com/sebastianbergmann/php-code-coverage" target = "_top" > php-code-coverage 11.0.10< / a > using < a href = "https://www.php.net/" target = "_top" > PHP 8.4.10< / a > and < a href = "https://phpunit.de/" > PHPUnit 11.5.28< / a > at Sun Aug 3 19:15:34 UTC 2025.< / small >
2025-08-03 20:59:09 +02:00
< / p >
< / footer >
< / div >
< script src = "../_js/jquery.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../_js/d3.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script src = "../_js/nv.d3.min.js?v=11.0.10" type = "text/javascript" > < / script >
< script type = "text/javascript" >
$(document).ready(function() {
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#classCoverageDistribution svg')
2025-08-03 21:16:59 +02:00
.datum(getCoverageDistributionData([9,0,0,3,3,2,1,0,0,1,0,1], "Class Coverage"))
2025-08-03 20:59:09 +02:00
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.tooltips(false)
.showControls(false)
.showLegend(false)
.reduceXTicks(false)
.staggerLabels(true)
.yAxis.tickFormat(d3.format('d'));
d3.select('#methodCoverageDistribution svg')
2025-08-03 21:16:59 +02:00
.datum(getCoverageDistributionData([35,0,0,0,1,1,1,1,0,3,0,14], "Method Coverage"))
2025-08-03 20:59:09 +02:00
.transition().duration(500).call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getCoverageDistributionData(data, label) {
var labels = [
'0%',
'0-10%',
'10-20%',
'20-30%',
'30-40%',
'40-50%',
'50-60%',
'60-70%',
'70-80%',
'80-90%',
'90-100%',
'100%'
];
var values = [];
$.each(labels, function(key) {
values.push({x: labels[key], y: data[key]});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '< p > ' + graph.point.class + '< / p > ';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Cyclomatic Complexity');
d3.select('#classComplexity svg')
2025-08-03 21:16:59 +02:00
.datum(getComplexityData([[45.45454545454545,11,"< a href = \"Article\/ArticleFetcher.php.html#14\" > App\\Services\\Article\\ArticleFetcher< \/a>"],[48,5,"< a href = \"Article\/ValidationService.php.html#7\" > App\\Services\\Article\\ValidationService< \/a>"],[0,6,"< a href = \"Auth\/LemmyAuthService.php.html#11\" > App\\Services\\Auth\\LemmyAuthService< \/a>"],[100,13,"< a href = \"DashboardStatsService.php.html#9\" > App\\Services\\DashboardStatsService< \/a>"],[36.36363636363637,6,"< a href = \"Factories\/ArticleParserFactory.php.html#10\" > App\\Services\\Factories\\ArticleParserFactory< \/a>"],[87.5,5,"< a href = \"Factories\/HomepageParserFactory.php.html#11\" > App\\Services\\Factories\\HomepageParserFactory< \/a>"],[22.727272727272727,9,"< a href = \"Http\/HttpFetcher.php.html#8\" > App\\Services\\Http\\HttpFetcher< \/a>"],[58.82352941176471,6,"< a href = \"Log\/LogSaver.php.html#9\" > App\\Services\\Log\\LogSaver< \/a>"],[0,2,"< a href = \"OnboardingRedirectService.php.html#8\" > App\\Services\\OnboardingRedirectService< \/a>"],[0,17,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#5\" > App\\Services\\Parsers\\BelgaArticlePageParser< \/a>"],[33.33333333333333,3,"< a href = \"Parsers\/BelgaArticleParser.php.html#7\" > App\\Services\\Parsers\\BelgaArticleParser< \/a>"],[0,1,"< a href = \"Parsers\/BelgaHomepageParser.php.html#5\" > App\\Services\\Parsers\\BelgaHomepageParser< \/a>"],[25,4,"< a href = \"Parsers\/BelgaHomepageParserAdapter.php.html#7\" > App\\Services\\Parsers\\BelgaHomepageParserAdapter< \/a>"],[0,14,"< a href = \"Parsers\/VrtArticlePageParser.php.html#5\" > App\\Services\\Parsers\\VrtArticlePageParser< \/a>"],[33.33333333333333,3,"< a href = \"Parsers\/VrtArticleParser.php.html#7\" > App\\Services\\Parsers\\VrtArticleParser< \/a>"],[0,1,"< a href = \"Parsers\/VrtHomepageParser.php.html#5\" > App\\Services\\Parsers\\VrtHomepageParser< \/a>"],[25,4,"< a href = \"Parsers\/VrtHomepageParserAdapter.php.html#7\" > App\\Services\\Parsers\\VrtHomepageParserAdapter< \/a>"],[0,5,"< a href = \"Publishing\/ArticlePublishingService.php.html#17\" > App\\Services\\Publishing\\ArticlePublishingService< \/a>"],[0,5,"< a href = \"RoutingValidationService.php.html#10\" > App\\Services\\RoutingValidationService< \/a>"],[0,8,"< a href = \"SystemStatusService.php.html#10\" > App\\Services\\SystemStatusService< \/a>"]], 'Class Complexity'))
2025-08-03 20:59:09 +02:00
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
nv.addGraph(function() {
var chart = nv.models.scatterChart()
.showDistX(true)
.showDistY(true)
.showLegend(false)
.forceX([0, 100]);
chart.tooltipContent(function(graph) {
return '< p > ' + graph.point.class + '< / p > ';
});
chart.xAxis.axisLabel('Code Coverage (in percent)');
chart.yAxis.axisLabel('Method Complexity');
d3.select('#methodComplexity svg')
2025-08-03 21:16:59 +02:00
.datum(getComplexityData([[44.44444444444444,3,"< a href = \"Article\/ArticleFetcher.php.html#19\" > App\\Services\\Article\\ArticleFetcher::getArticlesFromFeed< \/a>"],[100,1,"< a href = \"Article\/ArticleFetcher.php.html#38\" > App\\Services\\Article\\ArticleFetcher::getArticlesFromRssFeed< \/a>"],[38.88888888888889,3,"< a href = \"Article\/ArticleFetcher.php.html#48\" > App\\Services\\Article\\ArticleFetcher::getArticlesFromWebsiteFeed< \/a>"],[88.88888888888889,2,"< a href = \"Article\/ArticleFetcher.php.html#83\" > App\\Services\\Article\\ArticleFetcher::fetchArticleData< \/a>"],[0,2,"< a href = \"Article\/ArticleFetcher.php.html#100\" > App\\Services\\Article\\ArticleFetcher::saveArticle< \/a>"],[66.66666666666666,2,"< a href = \"Article\/ValidationService.php.html#9\" > App\\Services\\Article\\ValidationService::validate< \/a>"],[0,3,"< a href = \"Article\/ValidationService.php.html#39\" > App\\Services\\Article\\ValidationService::validateByKeywords< \/a>"],[0,6,"< a href = \"Auth\/LemmyAuthService.php.html#16\" > App\\Services\\Auth\\LemmyAuthService::getToken< \/a>"],[100,4,"< a href = \"DashboardStatsService.php.html#14\" > App\\Services\\DashboardStatsService::getStats< \/a>"],[100,1,"< a href = \"DashboardStatsService.php.html#46\" > App\\Services\\DashboardStatsService::getAvailablePeriods< \/a>"],[100,7,"< a href = \"DashboardStatsService.php.html#60\" > App\\Services\\DashboardStatsService::getDateRange< \/a>"],[100,1,"< a href = \"DashboardStatsService.php.html#77\" > App\\Services\\DashboardStatsService::getSystemStats< \/a>"],[80,3,"< a href = \"Factories\/ArticleParserFactory.php.html#20\" > App\\Services\\Factories\\ArticleParserFactory::getParser< \/a>"],[0,1,"< a href = \"Factories\/ArticleParserFactory.php.html#36\" > App\\Services\\Factories\\ArticleParserFactory::getSupportedSources< \/a>"],[0,2,"< a href = \"Factories\/ArticleParserFactory.php.html#47\" > App\\Services\\Factories\\ArticleParserFactory::registerParser< \/a>"],[80,3,"< a href = \"Factories\/HomepageParserFactory.php.html#24\" > App\\Services\\Factories\\HomepageParserFactory::getParser< \/a>"],[100,2,"< a href = \"Factories\/HomepageParserFactory.php.html#37\" > App\\Services\\Factories\\HomepageParserFactory::getParserForFeed< \/a>"],[100,3,"< a href = \"Http\/HttpFetcher.php.html#10\" > App\\Services\\Http\\HttpFetcher::fetchHtml< \/a>"],[0,6,"< a href = \"Http\/HttpFetcher.php.html#33\" > App\\Services\\Http\\HttpFetcher::fetchMultipleUrls< \/a>"],[100,1,"< a href = \"Log\/LogSaver.php.html#14\" > App\\Services\\Log\\LogSaver::info< \/a>"],[100,1,"< a href = \"Log\/LogSaver.php.html#22\" > App\\Services\\Log\\LogSaver::error< \/a>"],[100,1,"< a href = \"Log\/LogSaver.php.html#30\" > App\\Services\\Log\\LogSaver::warning< \/a>"],[0,1,"< a href = \"Log\/LogSaver.php.html#38\" > App\\Services\\Log\\LogSaver::debug< \/a>"],[53.84615384615385,2,"< a href = \"Log\/LogSaver.php.html#46\" > App\\Services\\Log\\LogSaver::log< \/a>"],[0,2,"< a href = \"OnboardingRedirectService.php.html#10\" > App\\Services\\OnboardingRedirectService::handleRedirect< \/a>"],[0,5,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#7\" > App\\Services\\Parsers\\BelgaArticlePageParser::extractTitle< \/a>"],[0,4,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#32\" > App\\Services\\Parsers\\BelgaArticlePageParser::extractDescription< \/a>"],[0,4,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#52\" > App\\Services\\Parsers\\BelgaArticlePageParser::extractFullArticle< \/a>"],[0,3,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#83\" > App\\Services\\Parsers\\BelgaArticlePageParser::extractThumbnail< \/a>"],[0,1,"< a href = \"Parsers\/BelgaArticlePageParser.php.html#101\" > App\\Services\\Parsers\\BelgaArticlePageParser::extractData< \/a>"],[100,1,"< a href = \"Parsers\/BelgaArticleParser.php.html#9\" > App\\Services\\Parsers\\BelgaArticleParser::canParse< \/a>"],[0,1,"< a href = \"Parsers\/BelgaArticleParser.php.html#14\" > App\\Services\\Parsers\\BelgaArticleParser::extractData< \/a>"],[0,1,"< a href = \"Parsers\/BelgaArticleParser.php.html#19\" > App\\Services\\Parsers\\BelgaArticleParser::getSourceName< \/a>"],[0,1,"< a href = \"Parsers\/BelgaHomepageParser.php.html#10\" > App\\Services\\Parsers\\BelgaHomepageParser::extractAr
2025-08-03 20:59:09 +02:00
.transition()
.duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
function getComplexityData(data, label) {
var values = [];
$.each(data, function(key) {
var value = Math.round(data[key][0]*100) / 100;
values.push({
x: value,
y: data[key][1],
class: data[key][2],
size: 0.05,
shape: 'diamond'
});
});
return [
{
key: label,
values: values,
color: "#4572A7"
}
];
}
});
< / script >
< / body >
< / html >