Code Analysis: Grocers List 1.0.5

Function Rating Maintainability Complexity Lines of code
GrocersList\Service\LinkRewriter::onPostSave()
A
46 11 37
grocers_list_activate()
A
45 9 42
GrocersList\Admin\AjaxController::updatePostGatingOptions()
A
50 9 27
GrocersList\Admin\PostGating::savePostMeta()
A
53 9 22
GrocersList\Frontend\PublicAjaxController::validateApiKey()
A
50 8 29
GrocersList\Service\UrlMappingService::create_url_mappings_batch()
S
46 6 38
GrocersList\Jobs\LinkCountVisitor::getRealtimeCount()
S
47 5 38
GrocersList\Database\UrlMappingTable::upsert_mappings()
S
50 5 30
GrocersList\Jobs\MigrationVisitor::visitPost()
S
50 5 29
GrocersList\Scanner\PostScanner::scanPost()
S
52 5 27
GrocersList\Plugin::register()
S
46 4 38
GrocersList\Database\Installer::install()
S
56 5 19
GrocersList\Database\Installer::create_tables()
S
50 4 33
GrocersList\Frontend\PublicAjaxController::resetPassword()
S
57 5 16
GrocersList\Jobs\PostVisitor::processPosts()
S
59 5 15
GrocersList\Support\ContentFilter::filterContentWithDatabaseMappings()
S
49 4 30
GrocersList\Database\UrlMappingTable::get_mappings_by_urls()
S
50 4 28
GrocersList\Frontend\PublicAjaxController::signupFollower()
S
59 5 12
GrocersList\Frontend\PublicAjaxController::loginFollower()
S
59 5 12
GrocersList\Admin\AjaxController::getPostGatingOptions()
S
52 4 24
GrocersList\Database\Installer::migrate_option_prefixes()
S
52 4 24
GrocersList\Service\ApiClient::postAppLinks()
S
52 4 24
GrocersList\Support\LinkReplacer::replace()
S
52 4 23
GrocersList\Frontend\PublicAjaxController::getPostGatingOptions()
S
53 4 23
GrocersList\Database\UrlMappingTable::create_table()
S
54 4 22
GrocersList\Database\DatabaseMigration::migrate_existing_posts()
S
49 3 32
GrocersList\Jobs\LinkCountVisitor::visitPost()
S
57 4 16
GrocersList\Frontend\PublicAjaxController::getCreatorConfig()
S
58 4 15
GrocersList\Scanner\PostScanner::scanForAmazonLinks()
S
50 3 30
GrocersList\Scanner\PostScanner::scanForLegacyLinks()
S
50 3 29
GrocersList\Admin\AjaxController::updateApiKey()
S
59 4 13
GrocersList\Settings\PluginSettings::isUseLinkstaLinksEnabled()
S
60 4 12
GrocersList\Settings\PluginSettings::isSetupComplete()
S
61 4 12
GrocersList\Settings\PluginSettings::isAutoRewriteEnabled()
S
61 4 12
GrocersList\Settings\PluginSettings::getApiKey()
S
62 4 11
GrocersList\Database\Installer::uninstall()
S
52 3 25
GrocersList\Frontend\ClientScripts::enqueueScripts()
S
52 3 25
GrocersList\Service\LinkRewriter::rewrite()
S
53 3 21
GrocersList\Support\GatingContentFilter::filterContent()
S
63 4 10
GrocersList\Support\ContentFilter::filterContent()
S
61 3 13
GrocersList\Admin\SettingsPage::renderPage()
S
50 2 28
GrocersList\Support\LinkExtractor::extractUnrewrittenLinks()
S
61 3 12
GrocersList\Service\ApiClient::checkoutFollower()
S
60 3 12
GrocersList\Service\ApiClient::checkFollowerMembershipStatus()
S
60 3 12
GrocersList\Support\GatingContentFilter::gateRecipeCardContent()
S
52 2 26
GrocersList\Frontend\PublicAjaxController::forgotPassword()
S
61 3 11
GrocersList\Service\ApiClient::validateApiKey()
S
61 3 11
GrocersList\Admin\PostGating::renderMetaBox()
S
51 1 39
GrocersList\Admin\AjaxController::register()
S
53 2 22
GrocersList\Jobs\LinkCountVisitor::getPostsForBatch()
S
55 2 22
GrocersList\Jobs\LinkCountVisitor::getTotalPostCount()
S
55 2 22
GrocersList\Jobs\MigrationVisitor::getPostsForBatch()
S
54 2 22
GrocersList\Database\DatabaseMigration::extract_mappings_from_content()
S
56 2 20
GrocersList\Jobs\MigrationVisitor::getTotalPostCount()
S
56 2 20
GrocersList\Database\UrlMappingTable::insert_mapping()
S
57 2 17
GrocersList\Frontend\PublicAjaxController::register()
S
56 2 17
GrocersList\Jobs\PostVisitor::start()
S
59 2 16
GrocersList\Service\ApiClient::forgotPassword()
S
58 2 15
GrocersList\Service\ApiClient::loginFollower()
S
58 2 15
GrocersList\Service\ApiClient::resetPassword()
S
58 2 15
GrocersList\Admin\AjaxController::triggerRecountLinks()
S
58 2 15
GrocersList\Settings\PluginSettings::setUseLinkstaLinks()
S
71 3 5
GrocersList\Admin\AjaxController::triggerMigrate()
S
58 2 15
GrocersList\Service\ApiClient::signupFollower()
S
58 2 15
GrocersList\Admin\PostGating::addMetaBoxes()
S
61 2 14
GrocersList\Database\UrlMappingTable::get_mapping()
S
61 2 13
GrocersList\Admin\PostGating::registerPostMeta()
S
58 1 18
GrocersList\Admin\AjaxController::clearSettings()
S
58 1 16
GrocersList\Support\Config::getExternalJsUrl()
S
70 2 6
GrocersList\Service\UrlMappingService::get_url_mappings_for_content()
S
67 2 8
GrocersList\Settings\PluginSettings::setAutoRewrite()
S
74 2 4
GrocersList\Settings\PluginSettings::migrateOption()
S
66 2 8
GrocersList\Settings\PluginSettings::migrateAllOptions()
S
68 2 7
GrocersList\Support\Config::getApiBaseDomain()
S
70 2 6
GrocersList\Support\Config::getLinkstaSubdomain()
S
70 2 6
GrocersList\Support\LinkUtils::buildLinkstaUrl()
S
71 2 5
GrocersList\Support\Logger::debug()
S
74 2 5
GrocersList\Support\Options::get()
S
75 2 4
GrocersList\Admin\AjaxController::checkPermission()
S
72 2 5
GrocersList\Admin\AjaxController::getMigrationStatus()
S
63 2 10
GrocersList\Admin\AjaxController::updateAutoRewrite()
S
66 2 7
GrocersList\Admin\AjaxController::recountLinks()
S
63 2 10
GrocersList\Model\LinkResponse::__construct()
S
72 2 5
GrocersList\Frontend\PublicAjaxController::checkoutFollower()
S
65 2 8
GrocersList\Frontend\PublicAjaxController::checkFollowerMembershipStatus()
S
65 2 8
GrocersList\Admin\AjaxController::updateUseLinkstaLinks()
S
66 2 7
GrocersList\Admin\AjaxController::getLinkCountInfo()
S
63 2 10
GrocersList\Support\ContentFilter::filterContentWithDataAttributes()
S
58 1 14
GrocersList\Admin\SettingsPage::addMenu()
S
61 1 13
GrocersList\Admin\AjaxController::findMatchedLinks()
S
61 1 13
GrocersList\Jobs\MigrationVisitor::getMigrationInfo()
S
62 1 11
GrocersList\Settings\PluginSettings::reset()
S
63 1 11
GrocersList\Support\ContentFilter::removeDataAttributes()
S
62 1 11
GrocersList\Admin\AjaxController::getState()
S
63 1 11
GrocersList\Service\LinkRewriter::__construct()
S
67 1 8
GrocersList\Jobs\PostVisitor::onJobCompleted()
S
81 1 3
GrocersList\Support\Logger::enable()
S
80 1 3
GrocersList\Jobs\LinkCountVisitor::__construct()
S
70 1 6
GrocersList\Jobs\JobState::getTotal()
S
78 1 3
GrocersList\Model\LinkResponseItem::__construct()
S
63 1 10
GrocersList\Database\DatabaseMigration::__construct()
S
81 1 3
GrocersList\Database\UrlMappingTable::get_table_name()
S
82 1 3
GrocersList\Support\ContentFilter::__construct()
S
74 1 5
GrocersList\Jobs\JobState::allBatchesCompleted()
S
80 1 3
GrocersList\Jobs\PostVisitor::getProcessedPosts()
S
82 1 3
GrocersList\Jobs\PostVisitor::getTotalPosts()
S
82 1 3
GrocersList\Support\WordPressHooks::addAction()
S
80 1 3
GrocersList\Jobs\PostVisitor::getTotalPostCount()
S
100 1 0
GrocersList\Support\GatingContentFilter::gateEntireContent()
S
66 1 10
GrocersList\Jobs\LinkCountVisitor::startCounting()
S
77 1 4
GrocersList\Jobs\JobState::incrementProcessed()
S
80 1 3
GrocersList\Jobs\MigrationVisitor::onJobCompleted()
S
74 1 5
GrocersList\Jobs\MigrationVisitor::startMigration()
S
74 1 5
GrocersList\Admin\PostGating::__construct()
S
81 1 3
GrocersList\Jobs\JobState::setRunning()
S
79 1 3
GrocersList\Support\LinkExtractor::extract()
S
67 1 7
GrocersList\Frontend\ClientScripts::__construct()
S
81 1 3
GrocersList\Database\UrlMappingTable::__construct()
S
76 1 4
GrocersList\Support\GatingContentFilter::__construct()
S
81 1 3
GrocersList\Service\LinkRewriter::register()
S
78 1 3
GrocersList\Plugin::__construct()
S
79 1 3
GrocersList\Support\Regex::amazonLinkWithDataAttribute()
S
81 1 3
GrocersList\Support\Regex::amazonLink()
S
81 1 3
GrocersList\Scanner\PostScanner::getSummary()
S
64 1 10
GrocersList\Support\PluginOptions::__construct()
S
81 1 3
GrocersList\Jobs\JobState::setTotal()
S
79 1 3
GrocersList\Admin\PostGating::register()
S
72 1 5
GrocersList\Jobs\JobState::setLastProcessedId()
S
79 1 3
GrocersList\Settings\PluginSettings::setApiKey()
S
72 1 5
GrocersList\Jobs\MigrationVisitor::resetCounters()
S
74 1 5
GrocersList\Settings\PluginSettings::oldKey()
S
80 1 3
GrocersList\Jobs\MigrationVisitor::__construct()
S
68 1 7
GrocersList\Admin\AjaxController::processNextCountBatch()
S
91 1 2
GrocersList\Jobs\PostVisitor::log()
S
78 1 3
GrocersList\Support\ContentFilter::create_timestamp_token()
S
64 1 9
GrocersList\Support\GatingContentFilter::register()
S
78 1 3
GrocersList\Support\Options::set()
S
79 1 3
GrocersList\Database\UrlMappingTable::drop_table()
S
76 1 4
GrocersList\Model\LinkStats::__construct()
S
75 1 4
GrocersList\Jobs\PostVisitor::getPostsForBatch()
S
100 1 0
GrocersList\Jobs\PostVisitor::__construct()
S
77 1 4
GrocersList\Jobs\JobState::option()
S
79 1 3
GrocersList\Admin\PostGating::isPostGated()
S
78 1 3
GrocersList\Jobs\PostVisitor::visitPost()
S
100 1 0
GrocersList\Admin\SettingsPage::__construct()
S
81 1 3
GrocersList\Jobs\JobState::__construct()
S
98 1 1
GrocersList\Admin\AjaxController::markSetupComplete()
S
68 1 7
GrocersList\Support\Logger::isEnabled()
S
80 1 3
GrocersList\Admin\SettingsPage::register()
S
79 1 3
GrocersList\Jobs\JobState::getProcessed()
S
78 1 3
GrocersList\Settings\PluginSettings::markSetupComplete()
S
75 1 4
GrocersList\Support\Logger::disable()
S
80 1 3
GrocersList\Admin\PostGating::isRecipeCardGated()
S
78 1 3
GrocersList\Jobs\LinkCountVisitor::getCountInfo()
S
81 1 3
GrocersList\Service\UrlMappingService::__construct()
S
74 1 5
GrocersList\Jobs\MigrationVisitor::migratePost()
S
80 1 3
GrocersList\Database\UrlMappingTable::table_exists()
S
66 1 9
GrocersList\Jobs\JobState::reset()
S
74 1 5
GrocersList\Jobs\JobState::getLastProcessedId()
S
78 1 3
GrocersList\Support\WordPressHooks::addFilter()
S
79 1 3
GrocersList\Jobs\LinkCountVisitor::resetCounters()
S
72 1 6
GrocersList\Admin\AjaxController::countMatchedLinks()
S
70 1 6
GrocersList\Support\ContentFilter::register()
S
79 1 3
GrocersList\Settings\PluginSettings::key()
S
80 1 3
GrocersList\Frontend\PublicAjaxController::__construct()
S
74 1 5
GrocersList\Frontend\ClientScripts::register()
S
79 1 3
GrocersList\Jobs\PostVisitor::reset()
S
74 1 5
GrocersList\Support\PluginOptions::getApiKey()
S
80 1 3
GrocersList\Model\LinkRewriteResult::__construct()
S
77 1 4
GrocersList\Database\Installer::set_default_options()
S
73 1 5
GrocersList\Admin\AjaxController::__construct()
S
69 1 7
GrocersList\Jobs\LinkCountVisitor::onJobCompleted()
S
76 1 4
GrocersList\Jobs\PostVisitor::getStatus()
S
66 1 9
GrocersList\Support\PluginOptions::setApiKey()
S
80 1 3
GrocersList\Jobs\JobState::setProcessed()
S
79 1 3
GrocersList\Jobs\JobState::isRunning()
S
78 1 3
grocers_list_deactivate()
S
78 1 4
GrocersList\Jobs\MigrationVisitor::saveResults()
S
70 1 6