Code Analysis: WooCommerce Weight Based Shipping 5.9.0

Function Rating Maintainability Complexity Lines of code
Gzp\WbsNg\Common\Hashing\OrderedHash::write()
A
45 12 41
Gzp\WbsNg\Model\Config\Method::_apply()
A
45 11 41
Gzp\WbsNg\Common\Decimal::of()
A
54 12 19
Gzp\WbsNg\Client::enqueueAssets()
A
42 9 49
Gzp\WbsNg\Model\Order\Bundle::exclude()
A
56 10 16
Gzp\WbsNg\ShippingMethod::__construct()
A
48 7 31
Gzp\WbsNg\Model\Config\Rule::rate()
S
51 7 29
Wbs\ShippingMethod::_enqueueAssets()
S
44 6 41
Gzp\WbsNg\SolutionMeta::unserialize()
S
50 7 26
Gzp\WbsNg\Common\Set::delete()
S
52 7 25
Wbs\WpTools::removeScripts()
S
57 7 15
Gzp\WbsNg\WpTools::removeScripts()
S
57 7 15
Gzp\WbsNg\ShippingMethod::calculate_shipping()
S
49 6 29
Gzp\WbsNg\Shipping::solve()
S
51 6 27
Wbs\RulesMapper::makeChargeCalculator()
S
44 4 51
Wbs\Plugin::setup()
S
48 5 32
Gzp\WbsNg\Model\Config\ShclassCond::match()
S
60 6 13
Gzp\WbsNg\Model\Order\Convert::convert()
S
50 5 25
Gzp\WbsNg\Shipping::solutions()
S
52 5 24
Gzp\WbsNg\Model\Config\CachingIterator::getIterator()
S
53 5 23
Wbs\ShippingMethod::__construct()
S
54 5 21
Gzp\WbsNg\Common\Set::add()
S
57 5 18
Gzp\WbsNg\Model\Config\DestCond::match()
S
57 5 18
Gzp\WbsNg\Model\Config\Charge::calc()
S
56 5 17
Gzp\WbsNg\Common\Equality\EqualityUtils::unique()
S
58 5 16
Gzp\WbsNg\Model\Config\Method::apply()
S
59 5 14
Gzp\WbsNg\Common\Hashing\UnorderedHash::add()
S
62 5 11
Gzp\WbsNg\Plugin::setup()
S
53 4 23
Wbs\ShippingMethod::getAllLocations()
S
55 4 20
Gzp\WbsNg\Client::getAllLocations()
S
56 4 19
Gzp\WbsNg\Model\Order\Price::get()
S
60 4 18
Wbs\RulesMapper::makeDestinationCondition()
S
57 4 17
Gzp\WbsNg\Mapping\Context::doRun()
S
58 4 16
Wbs\RulesMapper::makePriceCondition()
S
58 4 15
Gzp\WbsNg\Model\Config\DestCond::getLocationPath()
S
60 4 15
Gzp\WbsNg\Common\Set::has()
S
61 4 13
Wbs\Settings::__construct()
S
60 4 13
Gzp\WbsNg\Common\Hashing\UnorderedHash::from()
S
61 4 13
Wbs\RulesMapper::read()
S
61 4 13
Wbs\RulesMapper::get()
S
61 4 13
Gzp\WbsNg\Model\Order\Bundle::filter()
S
62 4 12
Gzp\WbsNg\Common\Set::_equals()
S
63 4 11
Gzp\WbsNg\Mapping\T::type()
S
62 4 11
Gzp\WbsNg\ShippingMethod::config()
S
57 3 16
Gzp\WbsNg\Mapping\Context::path()
S
66 4 8
Gzp\WbsNg\Model\Config\Range::includes()
S
72 4 5
Wbs\Migrations\ConfigStorage::forEachRule()
S
66 4 8
Gzp\WbsNg\Model\Order\Price::_equals()
S
69 4 7
Wbs\ShippingMethod::config()
S
60 3 14
Gzp\WbsNg\Common\Map::sortKeys()
S
60 3 13
Gzp\WbsNg\Mapping\T::optionalDecimal()
S
61 3 12
Gzp\WbsNg\Client::html()
S
53 2 24
Wbs\ShippingMethod::calculate_shipping()
S
55 2 20
Wbs\RulesMapper::makeRule()
S
57 2 18
Wbs\ShippingMethod::get_instance_id()
S
77 3 3
every()
S
68 3 8
any()
S
68 3 8
Gzp\WbsNg\Model\Calc\Shipment::_equals()
S
71 3 6
Gzp\WbsNg\Model\Config\ShclassCond::of()
S
70 3 6
Gzp\WbsNg\Model\Order\Bundle::price()
S
64 3 10
Wbs\ShippingMethod::showGlobalSettingsStub()
S
70 3 6
Gzp\WbsNg\Common\Map::apply()
S
67 3 8
Wbs\Migrations\Migration_5_2_6::migrateRule()
S
69 3 6
Gzp\WbsNg\Common\Set::hash()
S
64 3 10
Gzp\WbsNg\Common\Set::itemEquals()
S
66 3 9
Gzp\WbsNg\Model\Order\Bundle::weight()
S
65 3 9
Gzp\WbsNg\Plugin::renderSolution()
S
63 3 10
Gzp\WbsNg\Mapping\Context::getIterator()
S
65 3 9
Gzp\WbsNg\Mapping\Context::register()
S
65 3 9
Gzp\WbsNg\Mapping\Context::requireArray()
S
68 3 7
filter()
S
66 3 9
Gzp\WbsNg\Client::getAllShippingClasses()
S
60 2 14
Gzp\WbsNg\ConfigEndpoint::post()
S
61 2 12
Gzp\WbsNg\Model\Calc\Solution::__construct()
S
61 2 12
Wbs\RulesMapper::makeWeightCondition()
S
63 2 11
Wbs\Plugin::__resetShippingCache()
S
64 2 11
Wbs\Plugin::__pluginActionLinks()
S
61 2 11
Wbs\Plugin::shippingUrl()
S
62 2 11
Wbs\ConfigEndpoint::post()
S
62 2 11
Wbs\RulesMapper::makeConditions()
S
63 2 11
map()
S
69 2 7
Wbs\Plugin::setupOnce()
S
68 2 7
Wbs\Plugin::__get()
S
68 2 7
Gzp\WbsNg\Client::init()
S
65 2 9
Gzp\WbsNg\Common\Set::getIterator()
S
75 2 5
Gzp\WbsNg\Common\Set::itemHash()
S
71 2 6
Gzp\WbsNg\Plugin::setupOnce()
S
68 2 7
Wbs\Settings::instance()
S
71 2 6
Gzp\WbsNg\Mapping\Context::__destruct()
S
71 2 6
Gzp\WbsNg\PluginMeta::readVersionMeta()
S
71 2 5
Wbs\PluginMeta::readVersionMeta()
S
71 2 5
Gzp\WbsNg\Model\Order\Bundle::__construct()
S
67 2 8
Gzp\WbsNg\Mapping\T::nonWhitespace()
S
66 2 8
Gzp\WbsNg\ShippingMethod::updateConfigData()
S
67 2 8
Wbs\PluginPaths::__construct()
S
68 2 6
Wbs\ShippingMethod::get_admin_options_html()
S
65 2 10
Gzp\WbsNg\Mapping\T::required()
S
73 2 5
Gzp\WbsNg\ShippingMethod::get_instance_id()
S
80 2 3
Gzp\WbsNg\Model\Calc\Solution::_hash()
S
70 2 7
Wbs\Plugin::wc441plus()
S
77 2 3
Gzp\WbsNg\Model\Config\Charge::free()
S
79 2 3
Gzp\WbsNg\Model\Config\Method::__construct()
S
71 2 5
Gzp\WbsNg\WpTools::addActionOrCall()
S
67 2 8
Gzp\WbsNg\Model\Config\Method::active()
S
79 2 3
Gzp\WbsNg\Model\Config\Method::empty()
S
72 2 6
Gzp\WbsNg\Model\Config\CachingIterator::__construct()
S
72 2 6
Gzp\WbsNg\Model\Config\IteratorAggregateFrom::getIterator()
S
75 2 4
Wbs\ShippingMethod::getStateCode()
S
69 2 6
Wbs\Migrations\Migration_5_3_27::preserveOldBehaviorForExistingInstallations()
S
64 2 10
Wbs\ShippingMethod::isWildcardStateCode()
S
79 2 3
Gzp\WbsNg\Model\Config\Document\Settings::unserialize()
S
65 2 9
Gzp\WbsNg\Model\Config\Method\PriceSettings::unserialize()
S
63 2 10
Gzp\WbsNg\Model\Config\Method\Settings::unserialize()
S
66 2 8
Wbs\RulesMapper::applyModifiers()
S
68 2 7
Gzp\WbsNg\Model\Order\Bundle::_equals()
S
71 2 6
Wbs\WpTools::addActionOrCall()
S
68 2 7
Wbs\WbsNgGlobalSwitchEndpoint::post()
S
64 2 9
Gzp\WbsNg\Common\Map::merge()
S
73 2 5
Wbs\Common\Once::__invoke()
S
69 2 7
Gzp\WbsNg\Common\Map::getIterator()
S
73 2 5
Gzp\WbsNg\Common\Map::offsetGet()
S
71 2 6
Wbs\ShippingMethod::loadRules()
S
61 1 13
Gzp\WbsNg\Model\Order\Price::fromWc()
S
63 1 11
Wbs\RulesMapper::__construct()
S
77 1 4
Gzp\WbsNg\Common\Map::remove()
S
81 1 3
Gzp\WbsNg\Mapping\Context::offsetExists()
S
79 1 3
Wbs\RulesMapper::makeCondition()
S
80 1 3
Gzp\WbsNg\Common\Set::__construct()
S
80 1 3
Wbs\Settings::__get()
S
82 1 3
Gzp\WbsNg\Model\Config\Method\PriceSettings::__construct()
S
77 1 4
Wbs\Common\Once::__construct()
S
81 1 3
Gzp\WbsNg\Model\Config\IteratorAggregateFrom::__construct()
S
81 1 3
Wbs\ShippingMethod::is_available()
S
81 1 3
Wbs\ShippingMethod::get_option_key()
S
69 1 7
Gzp\WbsNg\Model\Config\Charge::__construct()
S
71 1 6
Gzp\WbsNg\ShippingMethod::is_available()
S
81 1 3
Gzp\WbsNg\Common\Decimal::minus()
S
79 1 3
Gzp\WbsNg\ShippingMethod::configData()
S
79 1 3
Gzp\WbsNg\Common\Set::count()
S
82 1 3
Wbs\ShippingMethod::init_instance_settings()
S
82 1 3
Gzp\WbsNg\Model\Order\Price::add()
S
67 1 8
Gzp\WbsNg\Mapping\Context::offsetSet()
S
80 1 3
Gzp\WbsNg\Model\Order\Item::hash()
S
82 1 3
Gzp\WbsNg\Mapping\T::array()
S
78 1 3
Gzp\WbsNg\Common\Map::empty()
S
80 1 3
Gzp\WbsNg\Mapping\T::decimal()
S
73 1 5
Gzp\WbsNg\Common\Map::count()
S
81 1 3
Gzp\WbsNg\Common\Hashing\OrderedHash::from()
S
79 1 3
Wbs\ShippingMethod::init_settings()
S
75 1 4
Gzp\WbsNg\Plugin::instance()
S
80 1 3
Gzp\WbsNg\PluginPaths::__construct()
S
70 1 6
Wbs\Plugin::createMigrationService()
S
64 1 10
Gzp\WbsNg\Model\Order\Item::_equals()
S
80 1 3
Gzp\WbsNg\Model\Config\Method\Settings::__construct()
S
79 1 3
Gzp\WbsNg\Common\Hashing\OrderedHash::__construct()
S
80 1 3
Gzp\WbsNg\Mapping\T::string()
S
78 1 3
Wbs\ShippingMethod::getAllShippingClasses()
S
65 1 9
Gzp\WbsNg\Mapping\Context::offsetUnset()
S
80 1 3
Gzp\WbsNg\Common\Map::__construct()
S
80 1 3
Gzp\WbsNg\Model\Config\Result::__construct()
S
74 1 5
Gzp\WbsNg\Model\Order\Bundle::empty()
S
81 1 3
Gzp\WbsNg\Model\Config\Action::__construct()
S
80 1 3
Gzp\WbsNg\Mapping\Context::origin()
S
79 1 3
Gzp\WbsNg\Mapping\Context::map()
S
65 1 10
Gzp\WbsNg\Model\Config\ShclassCond::__construct()
S
77 1 4
Gzp\WbsNg\Model\Config\Document\Settings::__construct()
S
81 1 3
Gzp\WbsNg\Api::init()
S
73 1 5
Gzp\WbsNg\Common\Set::with()
S
73 1 5
Gzp\WbsNg\Common\Map::set()
S
80 1 3
Gzp\WbsNg\Common\Map::get()
S
79 1 3
Wbs\RulesMapper::makeWeightCalculator()
S
65 1 9
Gzp\WbsNg\Mapping\Context::__construct()
S
67 1 8
Gzp\WbsNg\Common\Set::clone()
S
80 1 3
Gzp\WbsNg\Mapping\T::bool()
S
78 1 3
Gzp\WbsNg\Common\Set::sort()
S
80 1 3
Gzp\WbsNg\Model\Config\Result::empty()
S
78 1 3
Wbs\RulesMapper::readRange()
S
67 1 8
Gzp\WbsNg\Mapping\Exceptions\InvalidType::__construct()
S
78 1 3
Gzp\WbsNg\Mapping\T::int()
S
78 1 3
Gzp\WbsNg\Model\Calc\Shipment::__construct()
S
68 1 7
Gzp\WbsNg\Model\Config\Document::active()
S
74 1 5
Gzp\WbsNg\Client::__construct()
S
81 1 3
Gzp\WbsNg\Common\Set::without()
S
73 1 5
Wbs\Plugin::__woocommerceShippingMethods()
S
76 1 4
Gzp\WbsNg\Common\Hashing\OrderedHash::start()
S
80 1 3
Gzp\WbsNg\Common\Decimal::__construct()
S
81 1 3
Wbs\RulesMapper::makeRangeCondition()
S
71 1 6
Gzp\WbsNg\Common\Map::has()
S
80 1 3
Gzp\WbsNg\Api::configEndpointUrl()
S
78 1 3
Gzp\WbsNg\ShippingMethod::admin_options()
S
72 1 5
Gzp\WbsNg\Common\Map::offsetExists()
S
80 1 3
Gzp\WbsNg\Model\Order\Bundle::getIterator()
S
82 1 3
Wbs\Plugin::__construct()
S
70 1 6
Gzp\WbsNg\PluginMeta::__construct()
S
76 1 4
Gzp\WbsNg\Common\Decimal::_equals()
S
80 1 3
Gzp\WbsNg\Model\Config\Document::__construct()
S
74 1 4
Gzp\WbsNg\Mapping\Context::offsetGet()
S
74 1 4
Gzp\WbsNg\Common\Decimal::isGreaterThanOrEqualTo()
S
80 1 3
Wbs\PluginMeta::__construct()
S
75 1 4
Wbs\PluginPaths::getAssetUrl()
S
78 1 3
Gzp\WbsNg\SolutionMeta::serialize()
S
80 1 3
Gzp\WbsNg\Common\Decimal::isZero()
S
81 1 3
Gzp\WbsNg\Model\Calc\Shipment::_hash()
S
71 1 7
Gzp\WbsNg\PluginPaths::tpl()
S
80 1 3
Wbs\Migrations\Migration_5_3_27::migrate()
S
81 1 3
Gzp\WbsNg\Common\Decimal::__toString()
S
81 1 3
Gzp\WbsNg\Model\Order\Item::__construct()
S
66 1 8
Gzp\WbsNg\ConfigEndpoint::get()
S
72 1 5
Gzp\WbsNg\Common\Map::offsetUnset()
S
81 1 3
Gzp\WbsNg\Common\Decimal::quotientAndRemainder()
S
78 1 3
Gzp\WbsNg\Common\Decimal::isPositive()
S
81 1 3
Gzp\WbsNg\Model\Config\DestCond::__construct()
S
77 1 4
Gzp\WbsNg\Common\Decimal::multipliedBy()
S
79 1 3
Gzp\WbsNg\ShippingMethod::get_instance_option_key()
S
82 1 3
Gzp\WbsNg\Model\Order\Price::toWc()
S
66 1 8
Gzp\WbsNg\Model\Order\Price::__construct()
S
70 1 6
Gzp\WbsNg\PluginPaths::serverAssetUrl()
S
78 1 3
Gzp\WbsNg\Model\Order\Bundle::count()
S
81 1 3
Gzp\WbsNg\Mapping\T::optionalBool()
S
77 1 3
Gzp\WbsNg\Mapping\Exceptions\Required::__construct()
S
80 1 3
Gzp\WbsNg\Common\Decimal::hash()
S
75 1 4
Gzp\WbsNg\Model\Order\Bundle::_hash()
S
72 1 6
Gzp\WbsNg\Model\Order\Price::_hash()
S
69 1 8
Wbs\Plugin::instance()
S
80 1 3
Gzp\WbsNg\Common\Hashing\OrderedHash::done()
S
79 1 3
Gzp\WbsNg\Common\Map::offsetSet()
S
80 1 3
Wbs\ShippingMethod::get_instance_option_key()
S
81 1 3
Gzp\WbsNg\Common\Decimal::isLessThan()
S
80 1 3
Wbs\Api::init()
S
70 1 6
Gzp\WbsNg\Common\Set::empty()
S
80 1 3
Gzp\WbsNg\Common\Decimal::plus()
S
79 1 3
Gzp\WbsNg\Plugin::__construct()
S
79 1 3
Gzp\WbsNg\Mapping\T::optionalString()
S
77 1 3
Gzp\WbsNg\Model\Calc\Solution::_equals()
S
80 1 3
Wbs\ShippingMethod::admin_options()
S
75 1 4
Gzp\WbsNg\ShippingMethod::get_option_key()
S
82 1 3
Gzp\WbsNg\Common\Map::keys()
S
82 1 3
Gzp\WbsNg\Common\Decimal::ofUnscaledValue()
S
78 1 3
Gzp\WbsNg\Model\Config\Range::__construct()
S
77 1 4
Gzp\WbsNg\Common\Decimal::isPositiveOrZero()
S
81 1 3
Gzp\WbsNg\Model\Order\Convert::price()
S
67 1 8
Gzp\WbsNg\Mapping\Context::of()
S
70 1 5