Code Analysis: Easy Product Bundles for WooCommerce 3.0.0

Function Rating Maintainability Complexity Lines of code
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_to_cart_validation()
D
28
42 112
AsanaPlugins\WooCommerce\ProductBundles\ProductValidator::is_valid_product()
D
35 43 73
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::get_item()
D
31 40 101
get_products()
C
29
27 133
prepare_variation_data()
C
35 23 92
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::update_cart_validation_bundle()
C
39 25 56
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::get_price_html()
B
36 23 73
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::ajax_add_order_item_meta()
B
35 22 78
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_item_default_data()
B
44 22 37
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_price_bundle()
B
40 19 61
prepare_variable_prices()
B
38 18 72
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::before_calculate_totals()
B
44 20 41
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::product_bundle_position_hooks()
B
43 19 48
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::filter_childs()
A
43 16 42
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_bundle_items_to_cart()
A
45 15 39
prepare_product_data()
A
43 14 43
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_bundle_item_to_cart()
A
42 13 49
AsanaPlugins\WooCommerce\ProductBundles\ProductSelector::select_products()
A
53 15 17
AsanaPlugins\WooCommerce\ProductBundles\Models\ItemsModel::prepare_product_items()
A
45 13 40
get_product_types_for_bundle()
A
49 13 31
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_subtotal_bundle()
A
48 13 29
get_bundle_item_price()
A
50 13 26
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::save_product_data()
A
49 13 25
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::get_bundle()
A
46 12 36
prepare_product_prices()
A
47 11 37
get_product_image_src()
A
53 12 21
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::is_in_stock()
A
54 12 17
get_variation_attribute_options()
A
45 10 45
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_shipping_packages()
A
51 11 27
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_subtotal()
A
50 11 26
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_item_products()
A
46 10 37
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::filter_products()
A
50 10 25
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::load_scripts()
A
41 7 68
AsanaPlugins\WooCommerce\ProductBundles\API\Items::get_items()
A
48 9 33
AsanaPlugins\WooCommerce\ProductBundles\DiscountCalculator::calculate()
A
50 9 30
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::get_item_default_product()
A
54 9 21
AsanaPlugins\WooCommerce\ProductBundles\API\Items::search_items()
A
48 8 31
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_price()
A
51 8 28
get_attribute_data()
A
52 8 24
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_contents_weight()
A
53 8 23
AsanaPlugins\WooCommerce\ProductBundles\Assets::add_custom_styles()
A
52 8 23
get_product_type_ids()
A
54 8 20
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::coupon_is_valid_for_product()
A
55 8 20
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::get_variations()
A
48 7 34
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_items_field()
A
55 8 19
AsanaPlugins\WooCommerce\ProductBundles\Assets::load_product_scripts()
A
43 6 48
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_cart_item_data()
A
55 8 18
AsanaPlugins\WooCommerce\ProductBundles\ProductSelector::query()
S
49 7 30
AsanaPlugins\WooCommerce\ProductBundles\Admin\Admin::black_friday()
S
51 7 27
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::add_to_cart_url()
S
59 8 12
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::get_default_products()
S
56 7 18
is_in_cart()
S
58 7 15
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_contents_count()
S
58 7 14
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::get_item_count()
S
58 7 14
AsanaPlugins\WooCommerce\ProductBundles\API\Settings::save()
S
50 6 29
register_polyfills()
S
50 6 29
AsanaPlugins\WooCommerce\ProductBundles\Plugin::is_request()
S
61 7 12
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_initial_data()
S
50 6 27
maybe_show_review()
S
55 6 20
combinations()
S
56 6 18
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::get_variation_childs()
S
49 5 32
get_product_ids_from_bundle_items()
S
59 6 13
is_allowed_bundle_item_type()
S
54 5 24
AsanaPlugins\WooCommerce\ProductBundles\API\Review::review()
S
56 5 18
get_attributes_of_bundle_item()
S
57 5 17
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::filter()
S
58 5 14
get_quantities_from_bundle_items()
S
60 5 13
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::checkout_create_order_line_item()
S
60 5 13
AsanaPlugins\WooCommerce\ProductBundles\Assets::load_scripts()
S
61 5 13
AsanaPlugins\WooCommerce\ProductBundles\Assets::custom_styles()
S
61 5 13
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_remove_link()
S
61 5 13
AsanaPlugins\WooCommerce\ProductBundles\Models\ItemsModel::search_products()
S
59 5 12
AsanaPlugins\WooCommerce\ProductBundles\Plugin::get_dependency_errors()
S
53 4 23
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::maybe_delete_product_meta()
S
56 4 19
AsanaPlugins\WooCommerce\ProductBundles\ShortCode\ProductShortCode::output()
S
60 4 13
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::get_items()
S
61 4 13
get_any_value_attributes()
S
63 4 12
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::formatted_line_subtotal()
S
62 4 12
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::remove_bundle_from_cart()
S
63 4 11
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::show_review()
S
54 3 23
wc_products_array_filter_readable()
S
69 4 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::add_to_cart_text()
S
72 4 4
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::update_cart_validation()
S
66 4 9
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::before_mini_cart_contents()
S
67 4 8
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_loaded_from_session()
S
63 4 10
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::get_item_permissions_check()
S
65 4 7
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::has_price()
S
69 4 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_name()
S
60 3 12
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::get_cart_item_from_session()
S
63 3 11
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::init()
S
45 1 40
get_attributes_from_bundle_items()
S
68 3 7
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_removed()
S
67 3 8
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_restored()
S
67 3 8
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_class()
S
67 3 8
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::loop_add_to_cart_link()
S
65 3 9
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::order_again_cart_item_data()
S
64 3 10
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::is_purchasable()
S
76 3 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::display_product_bunlde()
S
69 3 7
AsanaPlugins\WooCommerce\ProductBundles\Admin\Admin::plugin_action_links()
S
62 3 10
AsanaPlugins\WooCommerce\ProductBundles\Models\ItemsModel::get_products()
S
58 2 14
AsanaPlugins\WooCommerce\ProductBundles\API\RestApi::register_rest_routes()
S
62 2 12
AsanaPlugins\WooCommerce\ProductBundles\Plugin::init()
S
61 2 12
AsanaPlugins\WooCommerce\ProductBundles\Plugin::on_plugins_loaded()
S
62 2 11
AsanaPlugins\WooCommerce\ProductBundles\Plugin::register_dependencies()
S
56 1 26
AsanaPlugins\WooCommerce\ProductBundles\Registry\Container::get()
S
64 2 11
AsanaPlugins\WooCommerce\ProductBundles\Admin\Admin::register_dependencies()
S
59 1 20
AsanaPlugins\WooCommerce\ProductBundles\API\Items::register_routes()
S
57 1 19
AsanaPlugins\WooCommerce\ProductBundles\API\Settings::register_routes()
S
58 1 18
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::reorder_items_permissions_check()
S
69 2 6
display_prices_including_tax()
S
70 2 6
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::create_item_permissions_check()
S
69 2 6
AsanaPlugins\WooCommerce\ProductBundles\Plugin::includes()
S
65 2 10
AsanaPlugins\WooCommerce\ProductBundles\Settings::get_setting()
S
71 2 5
AsanaPlugins\WooCommerce\ProductBundles\Plugin::load_plugin_textdomain()
S
64 2 9
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_to_cart()
S
70 2 6
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::get_items_permissions_check()
S
69 2 6
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::get_path()
S
79 2 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::define()
S
75 2 5
AsanaPlugins\WooCommerce\ProductBundles\Registry\SharedType::get()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::is_fixed_price()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\Plugin::instance()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::before_order_item_meta()
S
67 2 7
AsanaPlugins\WooCommerce\ProductBundles\Settings::delete_setting()
S
73 2 5
AsanaPlugins\WooCommerce\ProductBundles\Settings::__get()
S
78 2 3
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::delete_item_permissions_check()
S
69 2 6
AsanaPlugins\WooCommerce\ProductBundles\Registry\AbstractDependencyType::resolve_value()
S
70 2 6
AsanaPlugins\WooCommerce\ProductBundles\Registry\Container::register()
S
70 2 6
AsanaPlugins\WooCommerce\ProductBundles\Plugin::container()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::duplicate_item_permissions_check()
S
69 2 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::bundle_product_class()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\API\RestApi::init()
S
70 2 6
AsanaPlugins\WooCommerce\ProductBundles\Assets::get_path()
S
79 2 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::cart_item_quantity()
S
71 2 6
AsanaPlugins\WooCommerce\ProductBundles\API\BaseController::update_item_permissions_check()
S
69 2 6
maybe_get_exact_product_id()
S
78 2 3
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::register_routes()
S
61 1 14
AsanaPlugins\WooCommerce\ProductBundles\API\Review::register_routes()
S
62 1 13
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::hidden_order_itemmeta()
S
63 1 12
AsanaPlugins\WooCommerce\ProductBundles\Admin\Menu::menus()
S
63 1 11
added_product_bundle_type()
S
68 1 7
AsanaPlugins\WooCommerce\ProductBundles\Plugin::define_constants()
S
71 1 5
AsanaPlugins\WooCommerce\ProductBundles\Registry\AbstractDependencyType::get()
S
100 1 0
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_individual_theme()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\API\RestApi::__construct()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::init()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Settings::__construct()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_custom_display_price()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Registry\Container::factory()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\Assets::get_url()
S
77 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_default_products()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_shipping_fee_calculation()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\Admin::init()
S
67 1 8
AsanaPlugins\WooCommerce\ProductBundles\API\FilterProducts::get_collection_params()
S
64 1 10
AsanaPlugins\WooCommerce\ProductBundles\Plugin::on_deactivation()
S
91 1 2
ASNP_WEPB()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_bundle_title()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::render_dependencies_notice()
S
75 1 4
AsanaPlugins\WooCommerce\ProductBundles\API\Review::later()
S
69 1 6
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_theme_size()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Registry\FactoryType::get()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::product_data_panels()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_type()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\Settings::update()
S
79 1 3
get_review()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\Admin::__construct()
S
81 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::__construct()
S
98 1 1
AsanaPlugins\WooCommerce\ProductBundles\API\Settings::get_settings()
S
70 1 7
is_cart_item_bundle()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_custom_display_price()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Registry\AbstractDependencyType::__construct()
S
81 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::product_data_tabs()
S
65 1 9
AsanaPlugins\WooCommerce\ProductBundles\Settings::__set()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Assets::init()
S
75 1 4
AsanaPlugins\WooCommerce\ProductBundles\Assets::get_url()
S
77 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_bundle_title()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_fixed_price()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::product_type_selector()
S
75 1 4
AsanaPlugins\WooCommerce\ProductBundles\ProductBundleHooks::add_to_cart_template()
S
81 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_theme()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_shipping_fee_calculation()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::is_pro_active()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::get_items()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Settings::get_settings()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::deactivate_self()
S
75 1 4
AsanaPlugins\WooCommerce\ProductBundles\Plugin::__wakeup()
S
98 1 1
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_theme_size()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\API\Review::dismiss()
S
69 1 6
set_review()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_fixed_price()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::has_satisfied_dependencies()
S
75 1 4
AsanaPlugins\WooCommerce\ProductBundles\Admin\Menu::init()
S
79 1 3
is_cart_item_bundle_item()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::__clone()
S
98 1 1
AsanaPlugins\WooCommerce\ProductBundles\Plugin::add_shortcodes()
S
79 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_theme()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_individual_theme()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_items()
S
80 1 3
AsanaPlugins\WooCommerce\ProductBundles\ProductBundle::set_default_products()
S
80 1 3
get_plugin()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\Plugin::on_activation()
S
91 1 2
AsanaPlugins\WooCommerce\ProductBundles\Admin\Menu::create_menu()
S
79 1 7
AsanaPlugins\WooCommerce\ProductBundles\Admin\Menu::get_menus()
S
82 1 3
AsanaPlugins\WooCommerce\ProductBundles\Admin\ProductBundle::init()
S
69 1 6