From e798532a2f5f21a86b221351429196d87aa765d2 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 26 Oct 2018 16:15:03 +1100 Subject: [PATCH 1/2] Add offending files to rubocop config The file .rubocop_todo.yml is generated automatically and contains a configuration to make all files pass. For a lot of cops it just lists the offending files. But for some cops it sets a different metric. Since we don't want these lax metrics, we override them in our config file .rubocop.yml. This leads to a lot of offences again. This patch lists all offending files for each cop to make rubocop pass. We can improve the code over time and remove items from the list. --- .rubocop.yml | 742 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 742 insertions(+) diff --git a/.rubocop.yml b/.rubocop.yml index 2bf1f9b60e..cc46db7805 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -200,3 +200,745 @@ Metrics/ParameterLists: Metrics/PerceivedComplexity: Max: 7 + +# Additional todo list not generated by --autogen-config +Metrics/LineLength: + Max: 100 + Exclude: + - app/controllers/admin/accounts_and_billing_settings_controller.rb + - app/controllers/admin/bulk_line_items_controller.rb + - app/controllers/admin/business_model_configuration_controller.rb + - app/controllers/admin/cache_settings_controller.rb + - app/controllers/admin/contents_controller.rb + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprise_groups_controller.rb + - app/controllers/admin/enterprise_relationships_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/inventory_items_controller.rb + - app/controllers/admin/manager_invitations_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/product_import_controller.rb + - app/controllers/admin/proxy_orders_controller.rb + - app/controllers/admin/schedules_controller.rb + - app/controllers/admin/subscription_line_items_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/admin/variant_overrides_controller.rb + - app/controllers/api/enterprise_attachment_controller.rb + - app/controllers/api/product_images_controller.rb + - app/controllers/application_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/enterprises_controller.rb + - app/controllers/shop_controller.rb + - app/controllers/spree/admin/adjustments_controller_decorator.rb + - app/controllers/spree/admin/base_controller_decorator.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/api/products_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/paypal_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/helpers/admin/account_helper.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/admin/injection_helper.rb + - app/helpers/angular_form_builder.rb + - app/helpers/angular_form_helper.rb + - app/helpers/application_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/enterprises_helper.rb + - app/helpers/footer_links_helper.rb + - app/helpers/injection_helper.rb + - app/helpers/markdown_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/shop_helper.rb + - app/helpers/spree/admin/base_helper_decorator.rb + - app/helpers/spree/admin/navigation_helper_decorator.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/helpers/spree/orders_helper.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/products_cache_integrity_checker_job.rb + - app/jobs/subscription_confirm_job.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/mailers/spree/order_mailer_decorator.rb + - app/mailers/subscription_mailer.rb + - app/models/billable_period.rb + - app/models/column_preference.rb + - app/models/content_configuration.rb + - app/models/customer.rb + - app/models/enterprise_fee.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/enterprise_role.rb + - app/models/exchange.rb + - app/models/inventory_item.rb + - app/models/order_cycle.rb + - app/models/product_distribution.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/product_import/spreadsheet_data.rb + - app/models/product_import/spreadsheet_entry.rb + - app/models/product_import/unit_converter.rb + - app/models/proxy_order.rb + - app/models/schedule.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/classification_decorator.rb + - app/models/spree/gateway/stripe_connect.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/payment_method_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/shipment_decorator.rb + - app/models/spree/shipping_method_decorator.rb + - app/models/spree/taxon_decorator.rb + - app/models/spree/user_decorator.rb + - app/models/spree/variant_decorator.rb + - app/models/subscription.rb + - app/models/variant_override.rb + - app/models/variant_override_set.rb + - app/overrides/add_distributor_details_js_to_product.rb + - app/overrides/add_enterprise_fees_to_admin_configurations_menu.rb + - app/overrides/replace_checkout_payment_button.rb + - app/overrides/replace_payment_name_with_description.rb + - app/serializers/api/admin/basic_enterprise_serializer.rb + - app/serializers/api/admin/enterprise_fee_serializer.rb + - app/serializers/api/admin/enterprise_serializer.rb + - app/serializers/api/admin/exchange_serializer.rb + - app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb + - app/serializers/api/admin/index_enterprise_serializer.rb + - app/serializers/api/admin/index_order_cycle_serializer.rb + - app/serializers/api/admin/line_item_serializer.rb + - app/serializers/api/admin/order_cycle_serializer.rb + - app/serializers/api/admin/product_serializer.rb + - app/serializers/api/admin/subscription_serializer.rb + - app/serializers/api/admin/tag_rule_serializer.rb + - app/serializers/api/admin/variant_override_serializer.rb + - app/serializers/api/admin/variant_serializer.rb + - app/services/cart_service.rb + - app/services/embedded_page_service.rb + - app/services/line_item_syncer.rb + - app/services/order_cycle_form.rb + - app/services/order_factory.rb + - app/services/order_syncer.rb + - app/services/subscriptions_count.rb + - app/views/json/_groups.rabl + - app/views/json/partials/_enterprise.rabl + - app/views/json/_producer.rabl + - app/views/spree/api/products/bulk_show.v1.rabl + - app/views/spree/api/variants/bulk_show.v1.rabl + - engines/web/app/helpers/web/cookies_policy_helper.rb + - Gemfile + - lib/discourse/single_sign_on.rb + - lib/open_food_network/accounts_and_billing_settings_validator.rb + - lib/open_food_network/available_payment_method_filter.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/business_model_configuration_validator.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/distribution_change_validator.rb + - lib/open_food_network/enterprise_fee_applicator.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/locking.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/order_grouper.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permalink_generator.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report_base.rb + - lib/open_food_network/products_cache.rb + - lib/open_food_network/proxy_order_syncer.rb + - lib/open_food_network/reports/bulk_coop_allocation_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/variant_and_line_item_naming.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/calculated_adjustments_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/spree/product_filters.rb + - lib/stripe/profile_storer.rb + - lib/tasks/cache.rake + - lib/tasks/data.rake + - lib/tasks/dev.rake + - lib/tasks/enterprises.rake + - spec/archive/features/consumer/checkout_spec.rb + - spec/controllers/admin/accounts_and_billing_settings_controller_spec.rb + - spec/controllers/admin/bulk_line_items_controller_spec.rb + - spec/controllers/admin/column_preferences_controller_spec.rb + - spec/controllers/admin/customers_controller_spec.rb + - spec/controllers/admin/enterprises_controller_spec.rb + - spec/controllers/admin/inventory_items_controller_spec.rb + - spec/controllers/admin/manager_invitations_controller_spec.rb + - spec/controllers/admin/order_cycles_controller_spec.rb + - spec/controllers/admin/proxy_orders_controller_spec.rb + - spec/controllers/admin/schedules_controller_spec.rb + - spec/controllers/admin/stripe_accounts_controller_spec.rb + - spec/controllers/admin/stripe_connect_settings_controller_spec.rb + - spec/controllers/admin/subscription_line_items_controller_spec.rb + - spec/controllers/admin/subscriptions_controller_spec.rb + - spec/controllers/admin/variant_overrides_controller_spec.rb + - spec/controllers/api/logos_controller_spec.rb + - spec/controllers/api/order_cycles_controller_spec.rb + - spec/controllers/api/product_images_controller_spec.rb + - spec/controllers/api/promo_images_controller_spec.rb + - spec/controllers/cart_controller_spec.rb + - spec/controllers/checkout_controller_spec.rb + - spec/controllers/enterprises_controller_spec.rb + - spec/controllers/line_items_controller_spec.rb + - spec/controllers/shop_controller_spec.rb + - spec/controllers/shops_controller_spec.rb + - spec/controllers/spree/admin/adjustments_controller_spec.rb + - spec/controllers/spree/admin/base_controller_spec.rb + - spec/controllers/spree/admin/line_items_controller_spec.rb + - spec/controllers/spree/admin/orders_controller_spec.rb + - spec/controllers/spree/admin/orders/customer_details_controller_spec.rb + - spec/controllers/spree/admin/payment_methods_controller_spec.rb + - spec/controllers/spree/admin/payments_controller_spec.rb + - spec/controllers/spree/admin/reports_controller_spec.rb + - spec/controllers/spree/api/products_controller_spec.rb + - spec/controllers/spree/api/variants_controller_spec.rb + - spec/controllers/spree/credit_cards_controller_spec.rb + - spec/controllers/spree/orders_controller_spec.rb + - spec/controllers/spree/users_controller_spec.rb + - spec/controllers/spree/user_sessions_controller_spec.rb + - spec/controllers/stripe/callbacks_controller_spec.rb + - spec/controllers/stripe/webhooks_controller_spec.rb + - spec/controllers/user_confirmations_controller_spec.rb + - spec/controllers/user_registrations_controller_spec.rb + - spec/features/admin/accounts_and_billing_settings_spec.rb + - spec/features/admin/adjustments_spec.rb + - spec/features/admin/bulk_order_management_spec.rb + - spec/features/admin/bulk_product_update_spec.rb + - spec/features/admin/customers_spec.rb + - spec/features/admin/enterprise_fees_spec.rb + - spec/features/admin/enterprise_relationships_spec.rb + - spec/features/admin/enterprise_roles_spec.rb + - spec/features/admin/enterprises/images_spec.rb + - spec/features/admin/enterprises/index_spec.rb + - spec/features/admin/enterprises_spec.rb + - spec/features/admin/enterprise_user_spec.rb + - spec/features/admin/image_settings_spec.rb + - spec/features/admin/multilingual_spec.rb + - spec/features/admin/order_cycles_spec.rb + - spec/features/admin/orders_spec.rb + - spec/features/admin/overview_spec.rb + - spec/features/admin/payment_method_spec.rb + - spec/features/admin/product_import_spec.rb + - spec/features/admin/products_spec.rb + - spec/features/admin/reports_spec.rb + - spec/features/admin/schedules_spec.rb + - spec/features/admin/shipping_methods_spec.rb + - spec/features/admin/subscriptions_spec.rb + - spec/features/admin/tag_rules_spec.rb + - spec/features/admin/variant_overrides_spec.rb + - spec/features/consumer/account/cards_spec.rb + - spec/features/consumer/account/settings_spec.rb + - spec/features/consumer/account_spec.rb + - spec/features/consumer/authentication_spec.rb + - spec/features/consumer/cookies_spec.rb + - spec/features/consumer/groups_spec.rb + - spec/features/consumer/multilingual_spec.rb + - spec/features/consumer/registration_spec.rb + - spec/features/consumer/shopping/cart_spec.rb + - spec/features/consumer/shopping/checkout_auth_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/embedded_groups_spec.rb + - spec/features/consumer/shopping/embedded_shopfronts_spec.rb + - spec/features/consumer/shopping/orders_spec.rb + - spec/features/consumer/shopping/products_spec.rb + - spec/features/consumer/shopping/shopping_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/features/consumer/shops_spec.rb + - spec/helpers/admin/business_model_configuration_helper_spec.rb + - spec/helpers/admin/subscriptions_helper_spec.rb + - spec/helpers/checkout_helper_spec.rb + - spec/helpers/enterprises_helper_spec.rb + - spec/helpers/groups_helper_spec.rb + - spec/helpers/injection_helper_spec.rb + - spec/helpers/order_cycles_helper_spec.rb + - spec/helpers/spree/admin/base_helper_spec.rb + - spec/jobs/confirm_order_job_spec.rb + - spec/jobs/finalize_account_invoices_spec.rb + - spec/jobs/refresh_products_cache_job_spec.rb + - spec/jobs/subscription_confirm_job_spec.rb + - spec/jobs/subscription_placement_job_spec.rb + - spec/jobs/update_account_invoices_spec.rb + - spec/jobs/update_billable_periods_spec.rb + - spec/lib/open_food_network/address_finder_spec.rb + - spec/lib/open_food_network/bulk_coop_report_spec.rb + - spec/lib/open_food_network/cached_products_renderer_spec.rb + - spec/lib/open_food_network/customers_report_spec.rb + - spec/lib/open_food_network/distribution_change_validator_spec.rb + - spec/lib/open_food_network/enterprise_fee_applicator_spec.rb + - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb + - spec/lib/open_food_network/enterprise_injection_data_spec.rb + - spec/lib/open_food_network/group_buy_report_spec.rb + - spec/lib/open_food_network/lettuce_share_report_spec.rb + - spec/lib/open_food_network/option_value_namer_spec.rb + - spec/lib/open_food_network/order_and_distributor_report_spec.rb + - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb + - spec/lib/open_food_network/order_cycle_permissions_spec.rb + - spec/lib/open_food_network/order_grouper_spec.rb + - spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb + - spec/lib/open_food_network/packing_report_spec.rb + - spec/lib/open_food_network/permissions_spec.rb + - spec/lib/open_food_network/products_and_inventory_report_spec.rb + - spec/lib/open_food_network/products_cache_spec.rb + - spec/lib/open_food_network/products_renderer_spec.rb + - spec/lib/open_food_network/proxy_order_syncer_spec.rb + - spec/lib/open_food_network/scope_variant_to_hub_spec.rb + - spec/lib/open_food_network/subscription_payment_updater_spec.rb + - spec/lib/open_food_network/subscription_summarizer_spec.rb + - spec/lib/open_food_network/tag_rule_applicator_spec.rb + - spec/lib/open_food_network/users_and_enterprises_report_spec.rb + - spec/lib/open_food_network/xero_invoices_report_spec.rb + - spec/lib/stripe/account_connector_spec.rb + - spec/lib/stripe/webhook_handler_spec.rb + - spec/mailers/order_mailer_spec.rb + - spec/mailers/producer_mailer_spec.rb + - spec/mailers/subscription_mailer_spec.rb + - spec/models/billable_period_spec.rb + - spec/models/column_preference_spec.rb + - spec/models/customer_spec.rb + - spec/models/enterprise_caching_spec.rb + - spec/models/enterprise_fee_spec.rb + - spec/models/enterprise_group_spec.rb + - spec/models/enterprise_relationship_spec.rb + - spec/models/enterprise_spec.rb + - spec/models/exchange_spec.rb + - spec/models/model_set_spec.rb + - spec/models/order_cycle_spec.rb + - spec/models/producer_property_spec.rb + - spec/models/product_distribution_spec.rb + - spec/models/product_importer_spec.rb + - spec/models/proxy_order_spec.rb + - spec/models/spree/ability_spec.rb + - spec/models/spree/adjustment_spec.rb + - spec/models/spree/calculator/flexi_rate_spec.rb + - spec/models/spree/calculator/price_sack_spec.rb + - spec/models/spree/classification_spec.rb + - spec/models/spree/gateway/stripe_connect_spec.rb + - spec/models/spree/image_spec.rb + - spec/models/spree/line_item_spec.rb + - spec/models/spree/order_spec.rb + - spec/models/spree/payment_method_spec.rb + - spec/models/spree/payment_spec.rb + - spec/models/spree/product_spec.rb + - spec/models/spree/property_spec.rb + - spec/models/spree/shipping_method_spec.rb + - spec/models/spree/taxon_spec.rb + - spec/models/spree/tax_rate_spec.rb + - spec/models/spree/user_spec.rb + - spec/models/spree/variant_spec.rb + - spec/models/stripe_account_spec.rb + - spec/models/tag_rule/discount_order_spec.rb + - spec/models/tag_rule/filter_order_cycles_spec.rb + - spec/models/tag_rule/filter_payment_methods_spec.rb + - spec/models/tag_rule/filter_products_spec.rb + - spec/models/tag_rule/filter_shipping_methods_spec.rb + - spec/models/variant_override_spec.rb + - spec/performance/orders_controller_spec.rb + - spec/performance/proxy_order_syncer_spec.rb + - spec/performance/shop_controller_spec.rb + - spec/requests/checkout/failed_checkout_spec.rb + - spec/requests/checkout/paypal_spec.rb + - spec/requests/checkout/stripe_connect_spec.rb + - spec/requests/embedded_shopfronts_headers_spec.rb + - spec/requests/shop_spec.rb + - spec/serializers/admin/customer_serializer_spec.rb + - spec/serializers/admin/exchange_serializer_spec.rb + - spec/serializers/admin/for_order_cycle/enterprise_serializer_spec.rb + - spec/serializers/admin/for_order_cycle/supplied_product_serializer_spec.rb + - spec/serializers/admin/subscription_customer_serializer_spec.rb + - spec/serializers/admin/variant_override_serializer_spec.rb + - spec/serializers/current_order_serializer.rb + - spec/serializers/enterprise_serializer_spec.rb + - spec/serializers/order_serializer_spec.rb + - spec/services/cart_service_spec.rb + - spec/services/embedded_page_service_spec.rb + - spec/services/order_cycle_form_spec.rb + - spec/services/order_factory_spec.rb + - spec/services/order_syncer_spec.rb + - spec/services/subscription_estimator_spec.rb + - spec/services/subscription_form_spec.rb + - spec/services/subscription_validator_spec.rb + - spec/spec_helper.rb + - spec/support/cancan_helper.rb + - spec/support/delayed_job_helper.rb + - spec/support/matchers/delegate_matchers.rb + - spec/support/matchers/select2_matchers.rb + - spec/support/matchers/table_matchers.rb + - spec/support/request/authentication_workflow.rb + - spec/support/request/shop_workflow.rb + - spec/support/request/web_helper.rb + - spec/support/seeds.rb + - spec/support/spree/init.rb + +Metrics/AbcSize: + Max: 15 + Exclude: + - app/controllers/admin/bulk_line_items_controller.rb + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/product_import_controller.rb + - app/controllers/admin/schedules_controller.rb + - app/controllers/admin/stripe_accounts_controller.rb + - app/controllers/admin/subscription_line_items_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/api/enterprises_controller.rb + - app/controllers/api/order_cycles_controller.rb + - app/controllers/api/product_images_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/discourse_sso_controller.rb + - app/controllers/enterprises_controller.rb + - app/controllers/spree/admin/adjustments_controller_decorator.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/overview_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/payments_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/search_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/api/products_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/user_sessions_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/controllers/user_passwords_controller.rb + - app/controllers/user_registrations_controller.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/helpers/spree/orders_helper.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/models/billable_period.rb + - app/models/calculator/flat_percent_per_item.rb + - app/models/column_preference.rb + - app/models/enterprise_group.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/model_set.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/proxy_order.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - app/models/spree/taxon_decorator.rb + - app/serializers/api/admin/enterprise_serializer.rb + - app/serializers/api/enterprise_serializer.rb + - app/serializers/api/product_serializer.rb + - app/serializers/api/variant_serializer.rb + - app/services/cart_service.rb + - app/services/create_order_cycle.rb + - app/services/order_syncer.rb + - app/services/subscription_validator.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/option_value_namer.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/variant_and_line_item_naming.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/stripe/account_connector.rb + - lib/tasks/enterprises.rake + - spec/archive/features/consumer/checkout_spec.rb + - spec/controllers/spree/admin/orders_controller_spec.rb + - spec/features/admin/reports_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/models/enterprise_spec.rb + - spec/models/product_importer_spec.rb + - spec/support/performance_helper.rb + +Metrics/CyclomaticComplexity: + Max: 6 + Exclude: + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - app/models/variant_override_set.rb + - app/services/cart_service.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/spree/core/controller_helpers/order_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - spec/models/product_importer_spec.rb + +Metrics/PerceivedComplexity: + Max: 7 + Exclude: + - app/controllers/admin/enterprises_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/update_account_invoices.rb + - app/models/enterprise_relationship.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/spree/core/controller_helpers/order_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - spec/models/product_importer_spec.rb + +Metrics/MethodLength: + Max: 10 + Exclude: + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/manager_invitations_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/stripe_accounts_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/shop_controller.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/payments_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/search_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/user_sessions_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/controllers/user_passwords_controller.rb + - app/controllers/user_registrations_controller.rb + - app/helpers/checkout_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/models/billable_period.rb + - app/models/column_preference.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/preference_sections/footer_and_external_links_section.rb + - app/models/preference_sections/main_links_section.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/payment_method_decorator.rb + - app/models/spree/product_set.rb + - app/models/spree/taxon_decorator.rb + - app/serializers/api/admin/order_cycle_serializer.rb + - app/services/cart_service.rb + - app/services/order_cycle_form.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/cached_products_renderer.rb + - lib/open_food_network/column_preference_defaults.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/option_value_namer.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/order_grouper.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report.rb + - lib/open_food_network/products_renderer.rb + - lib/open_food_network/rack_request_blocker.rb + - lib/open_food_network/reports/bulk_coop_allocation_report.rb + - lib/open_food_network/reports/bulk_coop_supplier_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/stripe/profile_storer.rb + - spec/archive/features/consumer/checkout_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/models/product_importer_spec.rb + - spec/support/request/authentication_workflow.rb + +Metrics/ClassLength: + Max: 100 + Exclude: + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/checkout_controller.rb + - app/models/enterprise.rb + - app/models/order_cycle.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/spree/ability_decorator.rb + - app/serializers/api/enterprise_serializer.rb + - app/services/cart_service.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_cache.rb + - lib/open_food_network/xero_invoices_report.rb + +Metrics/ModuleLength: + Max: 100 + Exclude: + - lib/open_food_network/column_preference_defaults.rb + - spec/controllers/admin/enterprises_controller_spec.rb + - spec/controllers/admin/order_cycles_controller_spec.rb + - spec/controllers/api/order_cycles_controller_spec.rb + - spec/controllers/spree/api/products_controller_spec.rb + - spec/lib/open_food_network/address_finder_spec.rb + - spec/lib/open_food_network/customers_report_spec.rb + - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb + - spec/lib/open_food_network/option_value_namer_spec.rb + - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb + - spec/lib/open_food_network/order_cycle_permissions_spec.rb + - spec/lib/open_food_network/order_grouper_spec.rb + - spec/lib/open_food_network/permissions_spec.rb + - spec/lib/open_food_network/products_and_inventory_report_spec.rb + - spec/lib/open_food_network/products_cache_spec.rb + - spec/lib/open_food_network/proxy_order_syncer_spec.rb + - spec/lib/open_food_network/scope_variant_to_hub_spec.rb + - spec/lib/open_food_network/subscription_payment_updater_spec.rb + - spec/lib/open_food_network/tag_rule_applicator_spec.rb + - spec/lib/open_food_network/users_and_enterprises_report_spec.rb + - spec/models/spree/ability_spec.rb + - spec/models/spree/adjustment_spec.rb + - spec/models/spree/line_item_spec.rb + - spec/models/spree/payment_spec.rb + - spec/models/spree/product_spec.rb + - spec/models/spree/variant_spec.rb + - spec/support/request/web_helper.rb + +Metrics/ParameterLists: + Max: 5 + Exclude: + - app/helpers/angular_form_builder.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - lib/open_food_network/xero_invoices_report.rb + - spec/features/admin/reports_spec.rb + +Metrics/BlockNesting: + Max: 3 + Exclude: + - app/controllers/checkout_controller.rb From 7ad40074a589c8c068fb1210e319e04c5c46ff01 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Fri, 2 Nov 2018 08:23:13 +1100 Subject: [PATCH 2/2] Make Code Climate show our real score ans split rubocop config Our rubocop config hides all current violations. It allows us to have a passing rubocop run on the current code and improve it gradually. It detects new violations, but doesn't annoy us with all the existing ones. Code Climate has its own way of remembering all current violations which is more sophisticated than ours. The new config for Code Climate doesn't hide any violations so that Code Climate can give us a realistic score of code quality and warn us about every new violation. Splitting the configuration into the main three parts gives a quicker overview and makes maintaining the parts easier. --- .codeclimate.yml | 2 + .rubocop.yml | 956 +-------------------------------------- .rubocop_manual_todo.yml | 763 +++++++++++++++++++++++++++++++ .rubocop_styleguide.yml | 208 +++++++++ 4 files changed, 989 insertions(+), 940 deletions(-) create mode 100644 .rubocop_manual_todo.yml create mode 100644 .rubocop_styleguide.yml diff --git a/.codeclimate.yml b/.codeclimate.yml index 60c015c60e..c72c2e5543 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -3,6 +3,8 @@ plugins: rubocop: enabled: true channel: "rubocop-0-57" + config: + file: ".rubocop_styleguide.yml" scss-lint: enabled: true checks: diff --git a/.rubocop.yml b/.rubocop.yml index cc46db7805..c68377cb20 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,944 +1,20 @@ +# This is our main Rubocop configuration for developers. It is used when you run: +# +# bundle exec rubocop +# +# The configuration is split into three files. Look into those files for more details. +# inherit_from: + + # The automatically generated todo list to ignore all current violations. - .rubocop_todo.yml -AllCops: - TargetRubyVersion: 2.1 - TargetRailsVersion: 3.2 - Exclude: - - 'db/**/*' - - 'config/**/*' - - 'script/**/*' - - 'vendor/**/*' - - 'node_modules/**/*' - # The parser gem fails to parse this file with out current Ruby version. - - 'spec/factories.rb' - # Excluding: inadequate Naming/FileName rule rejects GemFile name with camelcase - - 'engines/web/Gemfile' + # Our Open Food Network style guide. It's used by Code Climate. If you want to see all violations, + # then use only that configuration (like Code Climate): + # + # bundle exec rubocop -c .rubocop_styleguide.yml + # + - .rubocop_styleguide.yml -# OFN SETTINGS -# Cop settings that have been agreed upon by the OFN community - -Rails: - Enabled: true - -Style/Documentation: - Enabled: false - -Style/StringLiterals: - Enabled: false - -Style/HashSyntax: - Enabled: true - EnforcedStyle: ruby19_no_mixed_keys - -Style/Send: - Enabled: true - -Layout/MultilineMethodCallIndentation: - Enabled: true - EnforcedStyle: indented - -# TEMPORARY/CONTESTED SETTINGS -# These are still to be decided upon, but recommended for inclusion by -# oeoeaio after scrutinising offenses the codebase - -# Don't think this is a big issue, mostly picking up RPSEC scope definitions -# with lamdas and RSpec '.to change{}' blocks -Lint/AmbiguousBlockAssociation: - Enabled: false - -# Heaps of offences (> 100) in specs, mostly in situations where two or more -# instances of a model are required, but only one is referenced. Difficult to -# fix without making the spec look messy or rewriting it. -# Should definitely fix at some point. -Lint/UselessAssignment: - Exclude: - - spec/**/* - -# AFAIK, there is no good alternative to dynamic matchers until we upgrade -# to Rails 4 and can use #find_by. If there is a better approach, let's do it. -Rails/DynamicFindBy: - Enabled: false - -# Same as above, #find_by is not available until Rails 4 -Rails/FindBy: - Enabled: false - -# Same as above, #update! is not available until Rails 4 -Rails/ActiveRecordAliases: - Enabled: false - -# This should be the programmer's discretion, perhaps we should review all of -# the uses of it an make specific exceptions though. -Rails/SkipsModelValidations: - Enabled: false - -# Relaxed.Ruby.Style SETTINGS -# These styles are a starting point for the conversation around conventions -# They should be removed or tweaked and moved above as decisions are made -# NOTE: Cops which did not fail at the time of writing were removed - -Layout/DotPosition: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styledotposition - -Layout/SpaceBeforeBlockBraces: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces - -Layout/SpaceInsideParens: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens - -Style/Alias: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylealias - -Style/BlockDelimiters: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleblockdelimiters - -Style/CommentAnnotation: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylecommentannotation - -Style/DoubleNegation: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styledoublenegation - -Style/FormatString: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleformatstring - -Style/IfUnlessModifier: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleifunlessmodifier - -Style/Lambda: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylelambda - -Style/MultilineBlockChain: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylemultilineblockchain - -Style/NegatedIf: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylenegatedif - -Style/NegatedWhile: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile - -Style/ParallelAssignment: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleparallelassignment - -Style/PercentLiteralDelimiters: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylepercentliteraldelimiters - -Style/Semicolon: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesemicolon - -Style/SingleLineMethods: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods - -Style/TrailingCommaInArguments: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styletrailingcommainarguments - -Style/TrailingCommaInArrayLiteral: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styletrailingcommainliteral - -Style/TrailingCommaInHashLiteral: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styletrailingcommainliteral - -Style/WordArray: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylewordarray - -Style/SymbolArray: - Enabled: false - StyleGuide: https://rubocop.readthedocs.io/en/latest/cops_style/#stylesymbolarray - -Lint/AmbiguousRegexpLiteral: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral - -Lint/AssignmentInCondition: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#lintassignmentincondition - -Metrics/AbcSize: - Max: 15 - -Metrics/BlockNesting: - Max: 3 - -Metrics/ClassLength: - Max: 100 - -Metrics/ModuleLength: - Max: 100 - -Metrics/CyclomaticComplexity: - Max: 6 - -Metrics/LineLength: - Max: 100 - -Metrics/MethodLength: - Max: 10 - -Metrics/ParameterLists: - Max: 5 - -Metrics/PerceivedComplexity: - Max: 7 - -# Additional todo list not generated by --autogen-config -Metrics/LineLength: - Max: 100 - Exclude: - - app/controllers/admin/accounts_and_billing_settings_controller.rb - - app/controllers/admin/bulk_line_items_controller.rb - - app/controllers/admin/business_model_configuration_controller.rb - - app/controllers/admin/cache_settings_controller.rb - - app/controllers/admin/contents_controller.rb - - app/controllers/admin/customers_controller.rb - - app/controllers/admin/enterprise_fees_controller.rb - - app/controllers/admin/enterprise_groups_controller.rb - - app/controllers/admin/enterprise_relationships_controller.rb - - app/controllers/admin/enterprises_controller.rb - - app/controllers/admin/inventory_items_controller.rb - - app/controllers/admin/manager_invitations_controller.rb - - app/controllers/admin/order_cycles_controller.rb - - app/controllers/admin/product_import_controller.rb - - app/controllers/admin/proxy_orders_controller.rb - - app/controllers/admin/schedules_controller.rb - - app/controllers/admin/subscription_line_items_controller.rb - - app/controllers/admin/subscriptions_controller.rb - - app/controllers/admin/variant_overrides_controller.rb - - app/controllers/api/enterprise_attachment_controller.rb - - app/controllers/api/product_images_controller.rb - - app/controllers/application_controller.rb - - app/controllers/base_controller.rb - - app/controllers/cart_controller.rb - - app/controllers/checkout_controller.rb - - app/controllers/enterprises_controller.rb - - app/controllers/shop_controller.rb - - app/controllers/spree/admin/adjustments_controller_decorator.rb - - app/controllers/spree/admin/base_controller_decorator.rb - - app/controllers/spree/admin/line_items_controller_decorator.rb - - app/controllers/spree/admin/orders_controller_decorator.rb - - app/controllers/spree/admin/payment_methods_controller_decorator.rb - - app/controllers/spree/admin/products_controller_decorator.rb - - app/controllers/spree/admin/reports_controller_decorator.rb - - app/controllers/spree/admin/shipping_methods_controller_decorator.rb - - app/controllers/spree/api/products_controller_decorator.rb - - app/controllers/spree/credit_cards_controller.rb - - app/controllers/spree/orders_controller_decorator.rb - - app/controllers/spree/paypal_controller_decorator.rb - - app/controllers/stripe/callbacks_controller.rb - - app/controllers/user_confirmations_controller.rb - - app/helpers/admin/account_helper.rb - - app/helpers/admin/business_model_configuration_helper.rb - - app/helpers/admin/injection_helper.rb - - app/helpers/angular_form_builder.rb - - app/helpers/angular_form_helper.rb - - app/helpers/application_helper.rb - - app/helpers/checkout_helper.rb - - app/helpers/enterprises_helper.rb - - app/helpers/footer_links_helper.rb - - app/helpers/injection_helper.rb - - app/helpers/markdown_helper.rb - - app/helpers/order_cycles_helper.rb - - app/helpers/shop_helper.rb - - app/helpers/spree/admin/base_helper_decorator.rb - - app/helpers/spree/admin/navigation_helper_decorator.rb - - app/helpers/spree/admin/orders_helper_decorator.rb - - app/helpers/spree/orders_helper.rb - - app/jobs/finalize_account_invoices.rb - - app/jobs/products_cache_integrity_checker_job.rb - - app/jobs/subscription_confirm_job.rb - - app/jobs/subscription_placement_job.rb - - app/jobs/update_account_invoices.rb - - app/jobs/update_billable_periods.rb - - app/mailers/producer_mailer.rb - - app/mailers/spree/order_mailer_decorator.rb - - app/mailers/subscription_mailer.rb - - app/models/billable_period.rb - - app/models/column_preference.rb - - app/models/content_configuration.rb - - app/models/customer.rb - - app/models/enterprise_fee.rb - - app/models/enterprise.rb - - app/models/enterprise_relationship.rb - - app/models/enterprise_role.rb - - app/models/exchange.rb - - app/models/inventory_item.rb - - app/models/order_cycle.rb - - app/models/product_distribution.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/product_import/product_importer.rb - - app/models/product_import/spreadsheet_data.rb - - app/models/product_import/spreadsheet_entry.rb - - app/models/product_import/unit_converter.rb - - app/models/proxy_order.rb - - app/models/schedule.rb - - app/models/spree/ability_decorator.rb - - app/models/spree/adjustment_decorator.rb - - app/models/spree/calculator/default_tax_decorator.rb - - app/models/spree/calculator/flexi_rate_decorator.rb - - app/models/spree/classification_decorator.rb - - app/models/spree/gateway/stripe_connect.rb - - app/models/spree/line_item_decorator.rb - - app/models/spree/order_decorator.rb - - app/models/spree/payment_decorator.rb - - app/models/spree/payment_method_decorator.rb - - app/models/spree/product_decorator.rb - - app/models/spree/shipment_decorator.rb - - app/models/spree/shipping_method_decorator.rb - - app/models/spree/taxon_decorator.rb - - app/models/spree/user_decorator.rb - - app/models/spree/variant_decorator.rb - - app/models/subscription.rb - - app/models/variant_override.rb - - app/models/variant_override_set.rb - - app/overrides/add_distributor_details_js_to_product.rb - - app/overrides/add_enterprise_fees_to_admin_configurations_menu.rb - - app/overrides/replace_checkout_payment_button.rb - - app/overrides/replace_payment_name_with_description.rb - - app/serializers/api/admin/basic_enterprise_serializer.rb - - app/serializers/api/admin/enterprise_fee_serializer.rb - - app/serializers/api/admin/enterprise_serializer.rb - - app/serializers/api/admin/exchange_serializer.rb - - app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb - - app/serializers/api/admin/index_enterprise_serializer.rb - - app/serializers/api/admin/index_order_cycle_serializer.rb - - app/serializers/api/admin/line_item_serializer.rb - - app/serializers/api/admin/order_cycle_serializer.rb - - app/serializers/api/admin/product_serializer.rb - - app/serializers/api/admin/subscription_serializer.rb - - app/serializers/api/admin/tag_rule_serializer.rb - - app/serializers/api/admin/variant_override_serializer.rb - - app/serializers/api/admin/variant_serializer.rb - - app/services/cart_service.rb - - app/services/embedded_page_service.rb - - app/services/line_item_syncer.rb - - app/services/order_cycle_form.rb - - app/services/order_factory.rb - - app/services/order_syncer.rb - - app/services/subscriptions_count.rb - - app/views/json/_groups.rabl - - app/views/json/partials/_enterprise.rabl - - app/views/json/_producer.rabl - - app/views/spree/api/products/bulk_show.v1.rabl - - app/views/spree/api/variants/bulk_show.v1.rabl - - engines/web/app/helpers/web/cookies_policy_helper.rb - - Gemfile - - lib/discourse/single_sign_on.rb - - lib/open_food_network/accounts_and_billing_settings_validator.rb - - lib/open_food_network/available_payment_method_filter.rb - - lib/open_food_network/bill_calculator.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/business_model_configuration_validator.rb - - lib/open_food_network/customers_report.rb - - lib/open_food_network/distribution_change_validator.rb - - lib/open_food_network/enterprise_fee_applicator.rb - - lib/open_food_network/enterprise_fee_calculator.rb - - lib/open_food_network/enterprise_issue_validator.rb - - lib/open_food_network/group_buy_report.rb - - lib/open_food_network/lettuce_share_report.rb - - lib/open_food_network/locking.rb - - lib/open_food_network/order_and_distributor_report.rb - - lib/open_food_network/order_cycle_form_applicator.rb - - lib/open_food_network/order_cycle_management_report.rb - - lib/open_food_network/order_cycle_permissions.rb - - lib/open_food_network/order_grouper.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/open_food_network/payments_report.rb - - lib/open_food_network/permalink_generator.rb - - lib/open_food_network/permissions.rb - - lib/open_food_network/products_and_inventory_report_base.rb - - lib/open_food_network/products_cache.rb - - lib/open_food_network/proxy_order_syncer.rb - - lib/open_food_network/reports/bulk_coop_allocation_report.rb - - lib/open_food_network/reports/line_items.rb - - lib/open_food_network/sales_tax_report.rb - - lib/open_food_network/users_and_enterprises_report.rb - - lib/open_food_network/variant_and_line_item_naming.rb - - lib/open_food_network/xero_invoices_report.rb - - lib/spree/core/calculated_adjustments_decorator.rb - - lib/spree/core/controller_helpers/respond_with_decorator.rb - - lib/spree/localized_number.rb - - lib/spree/product_filters.rb - - lib/stripe/profile_storer.rb - - lib/tasks/cache.rake - - lib/tasks/data.rake - - lib/tasks/dev.rake - - lib/tasks/enterprises.rake - - spec/archive/features/consumer/checkout_spec.rb - - spec/controllers/admin/accounts_and_billing_settings_controller_spec.rb - - spec/controllers/admin/bulk_line_items_controller_spec.rb - - spec/controllers/admin/column_preferences_controller_spec.rb - - spec/controllers/admin/customers_controller_spec.rb - - spec/controllers/admin/enterprises_controller_spec.rb - - spec/controllers/admin/inventory_items_controller_spec.rb - - spec/controllers/admin/manager_invitations_controller_spec.rb - - spec/controllers/admin/order_cycles_controller_spec.rb - - spec/controllers/admin/proxy_orders_controller_spec.rb - - spec/controllers/admin/schedules_controller_spec.rb - - spec/controllers/admin/stripe_accounts_controller_spec.rb - - spec/controllers/admin/stripe_connect_settings_controller_spec.rb - - spec/controllers/admin/subscription_line_items_controller_spec.rb - - spec/controllers/admin/subscriptions_controller_spec.rb - - spec/controllers/admin/variant_overrides_controller_spec.rb - - spec/controllers/api/logos_controller_spec.rb - - spec/controllers/api/order_cycles_controller_spec.rb - - spec/controllers/api/product_images_controller_spec.rb - - spec/controllers/api/promo_images_controller_spec.rb - - spec/controllers/cart_controller_spec.rb - - spec/controllers/checkout_controller_spec.rb - - spec/controllers/enterprises_controller_spec.rb - - spec/controllers/line_items_controller_spec.rb - - spec/controllers/shop_controller_spec.rb - - spec/controllers/shops_controller_spec.rb - - spec/controllers/spree/admin/adjustments_controller_spec.rb - - spec/controllers/spree/admin/base_controller_spec.rb - - spec/controllers/spree/admin/line_items_controller_spec.rb - - spec/controllers/spree/admin/orders_controller_spec.rb - - spec/controllers/spree/admin/orders/customer_details_controller_spec.rb - - spec/controllers/spree/admin/payment_methods_controller_spec.rb - - spec/controllers/spree/admin/payments_controller_spec.rb - - spec/controllers/spree/admin/reports_controller_spec.rb - - spec/controllers/spree/api/products_controller_spec.rb - - spec/controllers/spree/api/variants_controller_spec.rb - - spec/controllers/spree/credit_cards_controller_spec.rb - - spec/controllers/spree/orders_controller_spec.rb - - spec/controllers/spree/users_controller_spec.rb - - spec/controllers/spree/user_sessions_controller_spec.rb - - spec/controllers/stripe/callbacks_controller_spec.rb - - spec/controllers/stripe/webhooks_controller_spec.rb - - spec/controllers/user_confirmations_controller_spec.rb - - spec/controllers/user_registrations_controller_spec.rb - - spec/features/admin/accounts_and_billing_settings_spec.rb - - spec/features/admin/adjustments_spec.rb - - spec/features/admin/bulk_order_management_spec.rb - - spec/features/admin/bulk_product_update_spec.rb - - spec/features/admin/customers_spec.rb - - spec/features/admin/enterprise_fees_spec.rb - - spec/features/admin/enterprise_relationships_spec.rb - - spec/features/admin/enterprise_roles_spec.rb - - spec/features/admin/enterprises/images_spec.rb - - spec/features/admin/enterprises/index_spec.rb - - spec/features/admin/enterprises_spec.rb - - spec/features/admin/enterprise_user_spec.rb - - spec/features/admin/image_settings_spec.rb - - spec/features/admin/multilingual_spec.rb - - spec/features/admin/order_cycles_spec.rb - - spec/features/admin/orders_spec.rb - - spec/features/admin/overview_spec.rb - - spec/features/admin/payment_method_spec.rb - - spec/features/admin/product_import_spec.rb - - spec/features/admin/products_spec.rb - - spec/features/admin/reports_spec.rb - - spec/features/admin/schedules_spec.rb - - spec/features/admin/shipping_methods_spec.rb - - spec/features/admin/subscriptions_spec.rb - - spec/features/admin/tag_rules_spec.rb - - spec/features/admin/variant_overrides_spec.rb - - spec/features/consumer/account/cards_spec.rb - - spec/features/consumer/account/settings_spec.rb - - spec/features/consumer/account_spec.rb - - spec/features/consumer/authentication_spec.rb - - spec/features/consumer/cookies_spec.rb - - spec/features/consumer/groups_spec.rb - - spec/features/consumer/multilingual_spec.rb - - spec/features/consumer/registration_spec.rb - - spec/features/consumer/shopping/cart_spec.rb - - spec/features/consumer/shopping/checkout_auth_spec.rb - - spec/features/consumer/shopping/checkout_spec.rb - - spec/features/consumer/shopping/embedded_groups_spec.rb - - spec/features/consumer/shopping/embedded_shopfronts_spec.rb - - spec/features/consumer/shopping/orders_spec.rb - - spec/features/consumer/shopping/products_spec.rb - - spec/features/consumer/shopping/shopping_spec.rb - - spec/features/consumer/shopping/variant_overrides_spec.rb - - spec/features/consumer/shops_spec.rb - - spec/helpers/admin/business_model_configuration_helper_spec.rb - - spec/helpers/admin/subscriptions_helper_spec.rb - - spec/helpers/checkout_helper_spec.rb - - spec/helpers/enterprises_helper_spec.rb - - spec/helpers/groups_helper_spec.rb - - spec/helpers/injection_helper_spec.rb - - spec/helpers/order_cycles_helper_spec.rb - - spec/helpers/spree/admin/base_helper_spec.rb - - spec/jobs/confirm_order_job_spec.rb - - spec/jobs/finalize_account_invoices_spec.rb - - spec/jobs/refresh_products_cache_job_spec.rb - - spec/jobs/subscription_confirm_job_spec.rb - - spec/jobs/subscription_placement_job_spec.rb - - spec/jobs/update_account_invoices_spec.rb - - spec/jobs/update_billable_periods_spec.rb - - spec/lib/open_food_network/address_finder_spec.rb - - spec/lib/open_food_network/bulk_coop_report_spec.rb - - spec/lib/open_food_network/cached_products_renderer_spec.rb - - spec/lib/open_food_network/customers_report_spec.rb - - spec/lib/open_food_network/distribution_change_validator_spec.rb - - spec/lib/open_food_network/enterprise_fee_applicator_spec.rb - - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb - - spec/lib/open_food_network/enterprise_injection_data_spec.rb - - spec/lib/open_food_network/group_buy_report_spec.rb - - spec/lib/open_food_network/lettuce_share_report_spec.rb - - spec/lib/open_food_network/option_value_namer_spec.rb - - spec/lib/open_food_network/order_and_distributor_report_spec.rb - - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb - - spec/lib/open_food_network/order_cycle_permissions_spec.rb - - spec/lib/open_food_network/order_grouper_spec.rb - - spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb - - spec/lib/open_food_network/packing_report_spec.rb - - spec/lib/open_food_network/permissions_spec.rb - - spec/lib/open_food_network/products_and_inventory_report_spec.rb - - spec/lib/open_food_network/products_cache_spec.rb - - spec/lib/open_food_network/products_renderer_spec.rb - - spec/lib/open_food_network/proxy_order_syncer_spec.rb - - spec/lib/open_food_network/scope_variant_to_hub_spec.rb - - spec/lib/open_food_network/subscription_payment_updater_spec.rb - - spec/lib/open_food_network/subscription_summarizer_spec.rb - - spec/lib/open_food_network/tag_rule_applicator_spec.rb - - spec/lib/open_food_network/users_and_enterprises_report_spec.rb - - spec/lib/open_food_network/xero_invoices_report_spec.rb - - spec/lib/stripe/account_connector_spec.rb - - spec/lib/stripe/webhook_handler_spec.rb - - spec/mailers/order_mailer_spec.rb - - spec/mailers/producer_mailer_spec.rb - - spec/mailers/subscription_mailer_spec.rb - - spec/models/billable_period_spec.rb - - spec/models/column_preference_spec.rb - - spec/models/customer_spec.rb - - spec/models/enterprise_caching_spec.rb - - spec/models/enterprise_fee_spec.rb - - spec/models/enterprise_group_spec.rb - - spec/models/enterprise_relationship_spec.rb - - spec/models/enterprise_spec.rb - - spec/models/exchange_spec.rb - - spec/models/model_set_spec.rb - - spec/models/order_cycle_spec.rb - - spec/models/producer_property_spec.rb - - spec/models/product_distribution_spec.rb - - spec/models/product_importer_spec.rb - - spec/models/proxy_order_spec.rb - - spec/models/spree/ability_spec.rb - - spec/models/spree/adjustment_spec.rb - - spec/models/spree/calculator/flexi_rate_spec.rb - - spec/models/spree/calculator/price_sack_spec.rb - - spec/models/spree/classification_spec.rb - - spec/models/spree/gateway/stripe_connect_spec.rb - - spec/models/spree/image_spec.rb - - spec/models/spree/line_item_spec.rb - - spec/models/spree/order_spec.rb - - spec/models/spree/payment_method_spec.rb - - spec/models/spree/payment_spec.rb - - spec/models/spree/product_spec.rb - - spec/models/spree/property_spec.rb - - spec/models/spree/shipping_method_spec.rb - - spec/models/spree/taxon_spec.rb - - spec/models/spree/tax_rate_spec.rb - - spec/models/spree/user_spec.rb - - spec/models/spree/variant_spec.rb - - spec/models/stripe_account_spec.rb - - spec/models/tag_rule/discount_order_spec.rb - - spec/models/tag_rule/filter_order_cycles_spec.rb - - spec/models/tag_rule/filter_payment_methods_spec.rb - - spec/models/tag_rule/filter_products_spec.rb - - spec/models/tag_rule/filter_shipping_methods_spec.rb - - spec/models/variant_override_spec.rb - - spec/performance/orders_controller_spec.rb - - spec/performance/proxy_order_syncer_spec.rb - - spec/performance/shop_controller_spec.rb - - spec/requests/checkout/failed_checkout_spec.rb - - spec/requests/checkout/paypal_spec.rb - - spec/requests/checkout/stripe_connect_spec.rb - - spec/requests/embedded_shopfronts_headers_spec.rb - - spec/requests/shop_spec.rb - - spec/serializers/admin/customer_serializer_spec.rb - - spec/serializers/admin/exchange_serializer_spec.rb - - spec/serializers/admin/for_order_cycle/enterprise_serializer_spec.rb - - spec/serializers/admin/for_order_cycle/supplied_product_serializer_spec.rb - - spec/serializers/admin/subscription_customer_serializer_spec.rb - - spec/serializers/admin/variant_override_serializer_spec.rb - - spec/serializers/current_order_serializer.rb - - spec/serializers/enterprise_serializer_spec.rb - - spec/serializers/order_serializer_spec.rb - - spec/services/cart_service_spec.rb - - spec/services/embedded_page_service_spec.rb - - spec/services/order_cycle_form_spec.rb - - spec/services/order_factory_spec.rb - - spec/services/order_syncer_spec.rb - - spec/services/subscription_estimator_spec.rb - - spec/services/subscription_form_spec.rb - - spec/services/subscription_validator_spec.rb - - spec/spec_helper.rb - - spec/support/cancan_helper.rb - - spec/support/delayed_job_helper.rb - - spec/support/matchers/delegate_matchers.rb - - spec/support/matchers/select2_matchers.rb - - spec/support/matchers/table_matchers.rb - - spec/support/request/authentication_workflow.rb - - spec/support/request/shop_workflow.rb - - spec/support/request/web_helper.rb - - spec/support/seeds.rb - - spec/support/spree/init.rb - -Metrics/AbcSize: - Max: 15 - Exclude: - - app/controllers/admin/bulk_line_items_controller.rb - - app/controllers/admin/customers_controller.rb - - app/controllers/admin/enterprise_fees_controller.rb - - app/controllers/admin/enterprises_controller.rb - - app/controllers/admin/order_cycles_controller.rb - - app/controllers/admin/product_import_controller.rb - - app/controllers/admin/schedules_controller.rb - - app/controllers/admin/stripe_accounts_controller.rb - - app/controllers/admin/subscription_line_items_controller.rb - - app/controllers/admin/subscriptions_controller.rb - - app/controllers/api/enterprises_controller.rb - - app/controllers/api/order_cycles_controller.rb - - app/controllers/api/product_images_controller.rb - - app/controllers/base_controller.rb - - app/controllers/cart_controller.rb - - app/controllers/checkout_controller.rb - - app/controllers/discourse_sso_controller.rb - - app/controllers/enterprises_controller.rb - - app/controllers/spree/admin/adjustments_controller_decorator.rb - - app/controllers/spree/admin/line_items_controller_decorator.rb - - app/controllers/spree/admin/orders_controller_decorator.rb - - app/controllers/spree/admin/overview_controller_decorator.rb - - app/controllers/spree/admin/payment_methods_controller_decorator.rb - - app/controllers/spree/admin/payments_controller_decorator.rb - - app/controllers/spree/admin/products_controller_decorator.rb - - app/controllers/spree/admin/reports_controller_decorator.rb - - app/controllers/spree/admin/search_controller_decorator.rb - - app/controllers/spree/admin/shipping_methods_controller_decorator.rb - - app/controllers/spree/api/products_controller_decorator.rb - - app/controllers/spree/credit_cards_controller.rb - - app/controllers/spree/orders_controller_decorator.rb - - app/controllers/spree/user_sessions_controller_decorator.rb - - app/controllers/stripe/callbacks_controller.rb - - app/controllers/user_confirmations_controller.rb - - app/controllers/user_passwords_controller.rb - - app/controllers/user_registrations_controller.rb - - app/helpers/admin/business_model_configuration_helper.rb - - app/helpers/checkout_helper.rb - - app/helpers/i18n_helper.rb - - app/helpers/order_cycles_helper.rb - - app/helpers/spree/admin/orders_helper_decorator.rb - - app/helpers/spree/orders_helper.rb - - app/jobs/finalize_account_invoices.rb - - app/jobs/subscription_placement_job.rb - - app/jobs/update_account_invoices.rb - - app/jobs/update_billable_periods.rb - - app/mailers/producer_mailer.rb - - app/models/billable_period.rb - - app/models/calculator/flat_percent_per_item.rb - - app/models/column_preference.rb - - app/models/enterprise_group.rb - - app/models/enterprise.rb - - app/models/enterprise_relationship.rb - - app/models/model_set.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/proxy_order.rb - - app/models/spree/ability_decorator.rb - - app/models/spree/adjustment_decorator.rb - - app/models/spree/calculator/default_tax_decorator.rb - - app/models/spree/calculator/flexi_rate_decorator.rb - - app/models/spree/line_item_decorator.rb - - app/models/spree/order_decorator.rb - - app/models/spree/payment_decorator.rb - - app/models/spree/product_decorator.rb - - app/models/spree/product_set.rb - - app/models/spree/taxon_decorator.rb - - app/serializers/api/admin/enterprise_serializer.rb - - app/serializers/api/enterprise_serializer.rb - - app/serializers/api/product_serializer.rb - - app/serializers/api/variant_serializer.rb - - app/services/cart_service.rb - - app/services/create_order_cycle.rb - - app/services/order_syncer.rb - - app/services/subscription_validator.rb - - lib/discourse/single_sign_on.rb - - lib/open_food_network/bill_calculator.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/customers_report.rb - - lib/open_food_network/enterprise_issue_validator.rb - - lib/open_food_network/group_buy_report.rb - - lib/open_food_network/lettuce_share_report.rb - - lib/open_food_network/option_value_namer.rb - - lib/open_food_network/order_and_distributor_report.rb - - lib/open_food_network/order_cycle_form_applicator.rb - - lib/open_food_network/order_cycle_management_report.rb - - lib/open_food_network/order_cycle_permissions.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/open_food_network/packing_report.rb - - lib/open_food_network/payments_report.rb - - lib/open_food_network/permissions.rb - - lib/open_food_network/products_and_inventory_report.rb - - lib/open_food_network/reports/line_items.rb - - lib/open_food_network/sales_tax_report.rb - - lib/open_food_network/users_and_enterprises_report.rb - - lib/open_food_network/variant_and_line_item_naming.rb - - lib/open_food_network/xero_invoices_report.rb - - lib/spree/core/controller_helpers/respond_with_decorator.rb - - lib/spree/localized_number.rb - - lib/stripe/account_connector.rb - - lib/tasks/enterprises.rake - - spec/archive/features/consumer/checkout_spec.rb - - spec/controllers/spree/admin/orders_controller_spec.rb - - spec/features/admin/reports_spec.rb - - spec/features/consumer/shopping/checkout_spec.rb - - spec/features/consumer/shopping/variant_overrides_spec.rb - - spec/models/enterprise_spec.rb - - spec/models/product_importer_spec.rb - - spec/support/performance_helper.rb - -Metrics/CyclomaticComplexity: - Max: 6 - Exclude: - - app/controllers/admin/enterprise_fees_controller.rb - - app/controllers/admin/enterprises_controller.rb - - app/controllers/checkout_controller.rb - - app/controllers/spree/admin/orders_controller_decorator.rb - - app/controllers/spree/orders_controller_decorator.rb - - app/helpers/admin/business_model_configuration_helper.rb - - app/helpers/checkout_helper.rb - - app/helpers/i18n_helper.rb - - app/helpers/order_cycles_helper.rb - - app/helpers/spree/admin/orders_helper_decorator.rb - - app/jobs/update_account_invoices.rb - - app/jobs/update_billable_periods.rb - - app/models/enterprise.rb - - app/models/enterprise_relationship.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/spree/ability_decorator.rb - - app/models/spree/adjustment_decorator.rb - - app/models/spree/payment_decorator.rb - - app/models/spree/product_decorator.rb - - app/models/spree/product_set.rb - - app/models/variant_override_set.rb - - app/services/cart_service.rb - - lib/discourse/single_sign_on.rb - - lib/open_food_network/bill_calculator.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/enterprise_issue_validator.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/spree/core/controller_helpers/order_decorator.rb - - lib/spree/core/controller_helpers/respond_with_decorator.rb - - lib/spree/localized_number.rb - - spec/models/product_importer_spec.rb - -Metrics/PerceivedComplexity: - Max: 7 - Exclude: - - app/controllers/admin/enterprises_controller.rb - - app/controllers/checkout_controller.rb - - app/controllers/spree/admin/orders_controller_decorator.rb - - app/controllers/spree/orders_controller_decorator.rb - - app/helpers/admin/business_model_configuration_helper.rb - - app/helpers/checkout_helper.rb - - app/helpers/i18n_helper.rb - - app/helpers/order_cycles_helper.rb - - app/helpers/spree/admin/orders_helper_decorator.rb - - app/jobs/update_account_invoices.rb - - app/models/enterprise_relationship.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/spree/ability_decorator.rb - - app/models/spree/line_item_decorator.rb - - app/models/spree/order_decorator.rb - - app/models/spree/product_decorator.rb - - app/models/spree/product_set.rb - - lib/discourse/single_sign_on.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/enterprise_issue_validator.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/spree/core/controller_helpers/order_decorator.rb - - lib/spree/core/controller_helpers/respond_with_decorator.rb - - lib/spree/localized_number.rb - - spec/models/product_importer_spec.rb - -Metrics/MethodLength: - Max: 10 - Exclude: - - app/controllers/admin/customers_controller.rb - - app/controllers/admin/enterprise_fees_controller.rb - - app/controllers/admin/enterprises_controller.rb - - app/controllers/admin/manager_invitations_controller.rb - - app/controllers/admin/order_cycles_controller.rb - - app/controllers/admin/stripe_accounts_controller.rb - - app/controllers/admin/subscriptions_controller.rb - - app/controllers/base_controller.rb - - app/controllers/cart_controller.rb - - app/controllers/checkout_controller.rb - - app/controllers/shop_controller.rb - - app/controllers/spree/admin/line_items_controller_decorator.rb - - app/controllers/spree/admin/orders_controller_decorator.rb - - app/controllers/spree/admin/payment_methods_controller_decorator.rb - - app/controllers/spree/admin/payments_controller_decorator.rb - - app/controllers/spree/admin/products_controller_decorator.rb - - app/controllers/spree/admin/reports_controller_decorator.rb - - app/controllers/spree/admin/search_controller_decorator.rb - - app/controllers/spree/admin/shipping_methods_controller_decorator.rb - - app/controllers/spree/credit_cards_controller.rb - - app/controllers/spree/orders_controller_decorator.rb - - app/controllers/spree/user_sessions_controller_decorator.rb - - app/controllers/stripe/callbacks_controller.rb - - app/controllers/user_confirmations_controller.rb - - app/controllers/user_passwords_controller.rb - - app/controllers/user_registrations_controller.rb - - app/helpers/checkout_helper.rb - - app/helpers/order_cycles_helper.rb - - app/helpers/spree/admin/orders_helper_decorator.rb - - app/jobs/finalize_account_invoices.rb - - app/jobs/subscription_placement_job.rb - - app/jobs/update_account_invoices.rb - - app/jobs/update_billable_periods.rb - - app/mailers/producer_mailer.rb - - app/models/billable_period.rb - - app/models/column_preference.rb - - app/models/enterprise.rb - - app/models/enterprise_relationship.rb - - app/models/preference_sections/footer_and_external_links_section.rb - - app/models/preference_sections/main_links_section.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/product_import/product_importer.rb - - app/models/spree/ability_decorator.rb - - app/models/spree/adjustment_decorator.rb - - app/models/spree/calculator/default_tax_decorator.rb - - app/models/spree/calculator/flexi_rate_decorator.rb - - app/models/spree/line_item_decorator.rb - - app/models/spree/order_decorator.rb - - app/models/spree/payment_decorator.rb - - app/models/spree/payment_method_decorator.rb - - app/models/spree/product_set.rb - - app/models/spree/taxon_decorator.rb - - app/serializers/api/admin/order_cycle_serializer.rb - - app/services/cart_service.rb - - app/services/order_cycle_form.rb - - lib/discourse/single_sign_on.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/cached_products_renderer.rb - - lib/open_food_network/column_preference_defaults.rb - - lib/open_food_network/customers_report.rb - - lib/open_food_network/enterprise_fee_calculator.rb - - lib/open_food_network/group_buy_report.rb - - lib/open_food_network/lettuce_share_report.rb - - lib/open_food_network/option_value_namer.rb - - lib/open_food_network/order_and_distributor_report.rb - - lib/open_food_network/order_cycle_form_applicator.rb - - lib/open_food_network/order_cycle_management_report.rb - - lib/open_food_network/order_cycle_permissions.rb - - lib/open_food_network/order_grouper.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/open_food_network/packing_report.rb - - lib/open_food_network/payments_report.rb - - lib/open_food_network/permissions.rb - - lib/open_food_network/products_and_inventory_report.rb - - lib/open_food_network/products_renderer.rb - - lib/open_food_network/rack_request_blocker.rb - - lib/open_food_network/reports/bulk_coop_allocation_report.rb - - lib/open_food_network/reports/bulk_coop_supplier_report.rb - - lib/open_food_network/reports/line_items.rb - - lib/open_food_network/sales_tax_report.rb - - lib/open_food_network/users_and_enterprises_report.rb - - lib/open_food_network/xero_invoices_report.rb - - lib/spree/core/controller_helpers/respond_with_decorator.rb - - lib/spree/localized_number.rb - - lib/stripe/profile_storer.rb - - spec/archive/features/consumer/checkout_spec.rb - - spec/features/consumer/shopping/checkout_spec.rb - - spec/features/consumer/shopping/variant_overrides_spec.rb - - spec/models/product_importer_spec.rb - - spec/support/request/authentication_workflow.rb - -Metrics/ClassLength: - Max: 100 - Exclude: - - app/controllers/admin/enterprises_controller.rb - - app/controllers/admin/order_cycles_controller.rb - - app/controllers/admin/subscriptions_controller.rb - - app/controllers/checkout_controller.rb - - app/models/enterprise.rb - - app/models/order_cycle.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - app/models/product_import/product_importer.rb - - app/models/spree/ability_decorator.rb - - app/serializers/api/enterprise_serializer.rb - - app/services/cart_service.rb - - lib/open_food_network/bulk_coop_report.rb - - lib/open_food_network/enterprise_fee_calculator.rb - - lib/open_food_network/order_cycle_form_applicator.rb - - lib/open_food_network/order_cycle_management_report.rb - - lib/open_food_network/order_cycle_permissions.rb - - lib/open_food_network/orders_and_fulfillments_report.rb - - lib/open_food_network/packing_report.rb - - lib/open_food_network/payments_report.rb - - lib/open_food_network/permissions.rb - - lib/open_food_network/products_cache.rb - - lib/open_food_network/xero_invoices_report.rb - -Metrics/ModuleLength: - Max: 100 - Exclude: - - lib/open_food_network/column_preference_defaults.rb - - spec/controllers/admin/enterprises_controller_spec.rb - - spec/controllers/admin/order_cycles_controller_spec.rb - - spec/controllers/api/order_cycles_controller_spec.rb - - spec/controllers/spree/api/products_controller_spec.rb - - spec/lib/open_food_network/address_finder_spec.rb - - spec/lib/open_food_network/customers_report_spec.rb - - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb - - spec/lib/open_food_network/option_value_namer_spec.rb - - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb - - spec/lib/open_food_network/order_cycle_permissions_spec.rb - - spec/lib/open_food_network/order_grouper_spec.rb - - spec/lib/open_food_network/permissions_spec.rb - - spec/lib/open_food_network/products_and_inventory_report_spec.rb - - spec/lib/open_food_network/products_cache_spec.rb - - spec/lib/open_food_network/proxy_order_syncer_spec.rb - - spec/lib/open_food_network/scope_variant_to_hub_spec.rb - - spec/lib/open_food_network/subscription_payment_updater_spec.rb - - spec/lib/open_food_network/tag_rule_applicator_spec.rb - - spec/lib/open_food_network/users_and_enterprises_report_spec.rb - - spec/models/spree/ability_spec.rb - - spec/models/spree/adjustment_spec.rb - - spec/models/spree/line_item_spec.rb - - spec/models/spree/payment_spec.rb - - spec/models/spree/product_spec.rb - - spec/models/spree/variant_spec.rb - - spec/support/request/web_helper.rb - -Metrics/ParameterLists: - Max: 5 - Exclude: - - app/helpers/angular_form_builder.rb - - app/models/product_import/entry_processor.rb - - app/models/product_import/entry_validator.rb - - lib/open_food_network/xero_invoices_report.rb - - spec/features/admin/reports_spec.rb - -Metrics/BlockNesting: - Max: 3 - Exclude: - - app/controllers/checkout_controller.rb + # A manually compiled todo list to ignore metrics violations on a file-by-file basis. + - .rubocop_manual_todo.yml diff --git a/.rubocop_manual_todo.yml b/.rubocop_manual_todo.yml new file mode 100644 index 0000000000..390010ef06 --- /dev/null +++ b/.rubocop_manual_todo.yml @@ -0,0 +1,763 @@ +# A manually compiled todo list to ignore metrics violations on a file-by-file basis. +# +# The file .rubocop_todo.yml is generated automatically and contains a +# configuration to make all files pass. For a lot of cops it just lists +# the offending files. But for metrics cops it sets a different metric. +# +# Since we don't want these lax metrics, we override them in our config +# file .rubocop.yml which results in a lot of offences again. This file +# lists all offending files for each cop to make rubocop pass. We can +# improve the code over time and remove items from the list. +# +# This file was manually created by using the following tools: +# +# rubocop > rubo.log +# # inspect log file to see which cops are failing +# # copy cop configurations and add Exclude parameter +# grep ExampleCop rubo.log | cut -d ":" -f 1 | sort -u >> .rubocop.yml +# # use vim to add `- ` before each line +# +# This process probably doesn't need repeating. Otherwise there is plenty +# of room for improvements and automation. +Metrics/LineLength: + Max: 100 + Exclude: + - app/controllers/admin/accounts_and_billing_settings_controller.rb + - app/controllers/admin/bulk_line_items_controller.rb + - app/controllers/admin/business_model_configuration_controller.rb + - app/controllers/admin/cache_settings_controller.rb + - app/controllers/admin/contents_controller.rb + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprise_groups_controller.rb + - app/controllers/admin/enterprise_relationships_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/inventory_items_controller.rb + - app/controllers/admin/manager_invitations_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/product_import_controller.rb + - app/controllers/admin/proxy_orders_controller.rb + - app/controllers/admin/schedules_controller.rb + - app/controllers/admin/subscription_line_items_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/admin/variant_overrides_controller.rb + - app/controllers/api/enterprise_attachment_controller.rb + - app/controllers/api/product_images_controller.rb + - app/controllers/application_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/enterprises_controller.rb + - app/controllers/shop_controller.rb + - app/controllers/spree/admin/adjustments_controller_decorator.rb + - app/controllers/spree/admin/base_controller_decorator.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/api/products_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/paypal_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/helpers/admin/account_helper.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/admin/injection_helper.rb + - app/helpers/angular_form_builder.rb + - app/helpers/angular_form_helper.rb + - app/helpers/application_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/enterprises_helper.rb + - app/helpers/footer_links_helper.rb + - app/helpers/injection_helper.rb + - app/helpers/markdown_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/shop_helper.rb + - app/helpers/spree/admin/base_helper_decorator.rb + - app/helpers/spree/admin/navigation_helper_decorator.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/helpers/spree/orders_helper.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/products_cache_integrity_checker_job.rb + - app/jobs/subscription_confirm_job.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/mailers/spree/order_mailer_decorator.rb + - app/mailers/subscription_mailer.rb + - app/models/billable_period.rb + - app/models/column_preference.rb + - app/models/content_configuration.rb + - app/models/customer.rb + - app/models/enterprise_fee.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/enterprise_role.rb + - app/models/exchange.rb + - app/models/inventory_item.rb + - app/models/order_cycle.rb + - app/models/product_distribution.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/product_import/spreadsheet_data.rb + - app/models/product_import/spreadsheet_entry.rb + - app/models/product_import/unit_converter.rb + - app/models/proxy_order.rb + - app/models/schedule.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/classification_decorator.rb + - app/models/spree/gateway/stripe_connect.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/payment_method_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/shipment_decorator.rb + - app/models/spree/shipping_method_decorator.rb + - app/models/spree/taxon_decorator.rb + - app/models/spree/user_decorator.rb + - app/models/spree/variant_decorator.rb + - app/models/subscription.rb + - app/models/variant_override.rb + - app/models/variant_override_set.rb + - app/overrides/add_distributor_details_js_to_product.rb + - app/overrides/add_enterprise_fees_to_admin_configurations_menu.rb + - app/overrides/replace_checkout_payment_button.rb + - app/overrides/replace_payment_name_with_description.rb + - app/serializers/api/admin/basic_enterprise_serializer.rb + - app/serializers/api/admin/enterprise_fee_serializer.rb + - app/serializers/api/admin/enterprise_serializer.rb + - app/serializers/api/admin/exchange_serializer.rb + - app/serializers/api/admin/for_order_cycle/enterprise_serializer.rb + - app/serializers/api/admin/index_enterprise_serializer.rb + - app/serializers/api/admin/index_order_cycle_serializer.rb + - app/serializers/api/admin/line_item_serializer.rb + - app/serializers/api/admin/order_cycle_serializer.rb + - app/serializers/api/admin/product_serializer.rb + - app/serializers/api/admin/subscription_serializer.rb + - app/serializers/api/admin/tag_rule_serializer.rb + - app/serializers/api/admin/variant_override_serializer.rb + - app/serializers/api/admin/variant_serializer.rb + - app/services/cart_service.rb + - app/services/embedded_page_service.rb + - app/services/line_item_syncer.rb + - app/services/order_cycle_form.rb + - app/services/order_factory.rb + - app/services/order_syncer.rb + - app/services/subscriptions_count.rb + - app/views/json/_groups.rabl + - app/views/json/partials/_enterprise.rabl + - app/views/json/_producer.rabl + - app/views/spree/api/products/bulk_show.v1.rabl + - app/views/spree/api/variants/bulk_show.v1.rabl + - engines/web/app/helpers/web/cookies_policy_helper.rb + - Gemfile + - lib/discourse/single_sign_on.rb + - lib/open_food_network/accounts_and_billing_settings_validator.rb + - lib/open_food_network/available_payment_method_filter.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/business_model_configuration_validator.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/distribution_change_validator.rb + - lib/open_food_network/enterprise_fee_applicator.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/locking.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/order_grouper.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permalink_generator.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report_base.rb + - lib/open_food_network/products_cache.rb + - lib/open_food_network/proxy_order_syncer.rb + - lib/open_food_network/reports/bulk_coop_allocation_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/variant_and_line_item_naming.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/calculated_adjustments_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/spree/product_filters.rb + - lib/stripe/profile_storer.rb + - lib/tasks/cache.rake + - lib/tasks/data.rake + - lib/tasks/dev.rake + - lib/tasks/enterprises.rake + - spec/archive/features/consumer/checkout_spec.rb + - spec/controllers/admin/accounts_and_billing_settings_controller_spec.rb + - spec/controllers/admin/bulk_line_items_controller_spec.rb + - spec/controllers/admin/column_preferences_controller_spec.rb + - spec/controllers/admin/customers_controller_spec.rb + - spec/controllers/admin/enterprises_controller_spec.rb + - spec/controllers/admin/inventory_items_controller_spec.rb + - spec/controllers/admin/manager_invitations_controller_spec.rb + - spec/controllers/admin/order_cycles_controller_spec.rb + - spec/controllers/admin/proxy_orders_controller_spec.rb + - spec/controllers/admin/schedules_controller_spec.rb + - spec/controllers/admin/stripe_accounts_controller_spec.rb + - spec/controllers/admin/stripe_connect_settings_controller_spec.rb + - spec/controllers/admin/subscription_line_items_controller_spec.rb + - spec/controllers/admin/subscriptions_controller_spec.rb + - spec/controllers/admin/variant_overrides_controller_spec.rb + - spec/controllers/api/logos_controller_spec.rb + - spec/controllers/api/order_cycles_controller_spec.rb + - spec/controllers/api/orders_controller_spec.rb + - spec/controllers/api/product_images_controller_spec.rb + - spec/controllers/api/promo_images_controller_spec.rb + - spec/controllers/cart_controller_spec.rb + - spec/controllers/checkout_controller_spec.rb + - spec/controllers/enterprises_controller_spec.rb + - spec/controllers/line_items_controller_spec.rb + - spec/controllers/shop_controller_spec.rb + - spec/controllers/shops_controller_spec.rb + - spec/controllers/spree/admin/adjustments_controller_spec.rb + - spec/controllers/spree/admin/base_controller_spec.rb + - spec/controllers/spree/admin/line_items_controller_spec.rb + - spec/controllers/spree/admin/orders_controller_spec.rb + - spec/controllers/spree/admin/orders/customer_details_controller_spec.rb + - spec/controllers/spree/admin/payment_methods_controller_spec.rb + - spec/controllers/spree/admin/payments_controller_spec.rb + - spec/controllers/spree/admin/reports_controller_spec.rb + - spec/controllers/spree/api/products_controller_spec.rb + - spec/controllers/spree/api/variants_controller_spec.rb + - spec/controllers/spree/credit_cards_controller_spec.rb + - spec/controllers/spree/orders_controller_spec.rb + - spec/controllers/spree/users_controller_spec.rb + - spec/controllers/spree/user_sessions_controller_spec.rb + - spec/controllers/stripe/callbacks_controller_spec.rb + - spec/controllers/stripe/webhooks_controller_spec.rb + - spec/controllers/user_confirmations_controller_spec.rb + - spec/controllers/user_registrations_controller_spec.rb + - spec/features/admin/accounts_and_billing_settings_spec.rb + - spec/features/admin/adjustments_spec.rb + - spec/features/admin/bulk_order_management_spec.rb + - spec/features/admin/bulk_product_update_spec.rb + - spec/features/admin/customers_spec.rb + - spec/features/admin/enterprise_fees_spec.rb + - spec/features/admin/enterprise_relationships_spec.rb + - spec/features/admin/enterprise_roles_spec.rb + - spec/features/admin/enterprises/images_spec.rb + - spec/features/admin/enterprises/index_spec.rb + - spec/features/admin/enterprises_spec.rb + - spec/features/admin/enterprise_user_spec.rb + - spec/features/admin/image_settings_spec.rb + - spec/features/admin/multilingual_spec.rb + - spec/features/admin/order_cycles_spec.rb + - spec/features/admin/orders_spec.rb + - spec/features/admin/overview_spec.rb + - spec/features/admin/payment_method_spec.rb + - spec/features/admin/product_import_spec.rb + - spec/features/admin/products_spec.rb + - spec/features/admin/reports_spec.rb + - spec/features/admin/schedules_spec.rb + - spec/features/admin/shipping_methods_spec.rb + - spec/features/admin/subscriptions_spec.rb + - spec/features/admin/tag_rules_spec.rb + - spec/features/admin/variant_overrides_spec.rb + - spec/features/consumer/account/cards_spec.rb + - spec/features/consumer/account/settings_spec.rb + - spec/features/consumer/account_spec.rb + - spec/features/consumer/authentication_spec.rb + - spec/features/consumer/cookies_spec.rb + - spec/features/consumer/groups_spec.rb + - spec/features/consumer/multilingual_spec.rb + - spec/features/consumer/registration_spec.rb + - spec/features/consumer/shopping/cart_spec.rb + - spec/features/consumer/shopping/checkout_auth_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/embedded_groups_spec.rb + - spec/features/consumer/shopping/embedded_shopfronts_spec.rb + - spec/features/consumer/shopping/orders_spec.rb + - spec/features/consumer/shopping/products_spec.rb + - spec/features/consumer/shopping/shopping_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/features/consumer/shops_spec.rb + - spec/helpers/admin/business_model_configuration_helper_spec.rb + - spec/helpers/admin/subscriptions_helper_spec.rb + - spec/helpers/checkout_helper_spec.rb + - spec/helpers/enterprises_helper_spec.rb + - spec/helpers/groups_helper_spec.rb + - spec/helpers/injection_helper_spec.rb + - spec/helpers/order_cycles_helper_spec.rb + - spec/helpers/spree/admin/base_helper_spec.rb + - spec/jobs/confirm_order_job_spec.rb + - spec/jobs/finalize_account_invoices_spec.rb + - spec/jobs/refresh_products_cache_job_spec.rb + - spec/jobs/subscription_confirm_job_spec.rb + - spec/jobs/subscription_placement_job_spec.rb + - spec/jobs/update_account_invoices_spec.rb + - spec/jobs/update_billable_periods_spec.rb + - spec/lib/open_food_network/address_finder_spec.rb + - spec/lib/open_food_network/bulk_coop_report_spec.rb + - spec/lib/open_food_network/cached_products_renderer_spec.rb + - spec/lib/open_food_network/customers_report_spec.rb + - spec/lib/open_food_network/distribution_change_validator_spec.rb + - spec/lib/open_food_network/enterprise_fee_applicator_spec.rb + - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb + - spec/lib/open_food_network/enterprise_injection_data_spec.rb + - spec/lib/open_food_network/group_buy_report_spec.rb + - spec/lib/open_food_network/lettuce_share_report_spec.rb + - spec/lib/open_food_network/option_value_namer_spec.rb + - spec/lib/open_food_network/order_and_distributor_report_spec.rb + - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb + - spec/lib/open_food_network/order_cycle_permissions_spec.rb + - spec/lib/open_food_network/order_grouper_spec.rb + - spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb + - spec/lib/open_food_network/packing_report_spec.rb + - spec/lib/open_food_network/permissions_spec.rb + - spec/lib/open_food_network/products_and_inventory_report_spec.rb + - spec/lib/open_food_network/products_cache_spec.rb + - spec/lib/open_food_network/products_renderer_spec.rb + - spec/lib/open_food_network/proxy_order_syncer_spec.rb + - spec/lib/open_food_network/scope_variant_to_hub_spec.rb + - spec/lib/open_food_network/subscription_payment_updater_spec.rb + - spec/lib/open_food_network/subscription_summarizer_spec.rb + - spec/lib/open_food_network/tag_rule_applicator_spec.rb + - spec/lib/open_food_network/users_and_enterprises_report_spec.rb + - spec/lib/open_food_network/xero_invoices_report_spec.rb + - spec/lib/stripe/account_connector_spec.rb + - spec/lib/stripe/webhook_handler_spec.rb + - spec/mailers/order_mailer_spec.rb + - spec/mailers/producer_mailer_spec.rb + - spec/mailers/subscription_mailer_spec.rb + - spec/models/billable_period_spec.rb + - spec/models/column_preference_spec.rb + - spec/models/customer_spec.rb + - spec/models/enterprise_caching_spec.rb + - spec/models/enterprise_fee_spec.rb + - spec/models/enterprise_group_spec.rb + - spec/models/enterprise_relationship_spec.rb + - spec/models/enterprise_spec.rb + - spec/models/exchange_spec.rb + - spec/models/model_set_spec.rb + - spec/models/order_cycle_spec.rb + - spec/models/producer_property_spec.rb + - spec/models/product_distribution_spec.rb + - spec/models/product_importer_spec.rb + - spec/models/proxy_order_spec.rb + - spec/models/spree/ability_spec.rb + - spec/models/spree/adjustment_spec.rb + - spec/models/spree/calculator/flexi_rate_spec.rb + - spec/models/spree/calculator/price_sack_spec.rb + - spec/models/spree/classification_spec.rb + - spec/models/spree/gateway/stripe_connect_spec.rb + - spec/models/spree/image_spec.rb + - spec/models/spree/line_item_spec.rb + - spec/models/spree/order_spec.rb + - spec/models/spree/payment_method_spec.rb + - spec/models/spree/payment_spec.rb + - spec/models/spree/product_spec.rb + - spec/models/spree/property_spec.rb + - spec/models/spree/shipping_method_spec.rb + - spec/models/spree/taxon_spec.rb + - spec/models/spree/tax_rate_spec.rb + - spec/models/spree/user_spec.rb + - spec/models/spree/variant_spec.rb + - spec/models/stripe_account_spec.rb + - spec/models/tag_rule/discount_order_spec.rb + - spec/models/tag_rule/filter_order_cycles_spec.rb + - spec/models/tag_rule/filter_payment_methods_spec.rb + - spec/models/tag_rule/filter_products_spec.rb + - spec/models/tag_rule/filter_shipping_methods_spec.rb + - spec/models/variant_override_spec.rb + - spec/performance/orders_controller_spec.rb + - spec/performance/proxy_order_syncer_spec.rb + - spec/performance/shop_controller_spec.rb + - spec/requests/checkout/failed_checkout_spec.rb + - spec/requests/checkout/paypal_spec.rb + - spec/requests/checkout/stripe_connect_spec.rb + - spec/requests/embedded_shopfronts_headers_spec.rb + - spec/requests/shop_spec.rb + - spec/serializers/admin/customer_serializer_spec.rb + - spec/serializers/admin/exchange_serializer_spec.rb + - spec/serializers/admin/for_order_cycle/enterprise_serializer_spec.rb + - spec/serializers/admin/for_order_cycle/supplied_product_serializer_spec.rb + - spec/serializers/admin/subscription_customer_serializer_spec.rb + - spec/serializers/admin/variant_override_serializer_spec.rb + - spec/serializers/current_order_serializer.rb + - spec/serializers/enterprise_serializer_spec.rb + - spec/serializers/order_serializer_spec.rb + - spec/services/cart_service_spec.rb + - spec/services/embedded_page_service_spec.rb + - spec/services/order_cycle_form_spec.rb + - spec/services/order_factory_spec.rb + - spec/services/order_syncer_spec.rb + - spec/services/subscription_estimator_spec.rb + - spec/services/subscription_form_spec.rb + - spec/services/subscription_validator_spec.rb + - spec/spec_helper.rb + - spec/support/cancan_helper.rb + - spec/support/delayed_job_helper.rb + - spec/support/matchers/delegate_matchers.rb + - spec/support/matchers/select2_matchers.rb + - spec/support/matchers/table_matchers.rb + - spec/support/request/authentication_workflow.rb + - spec/support/request/shop_workflow.rb + - spec/support/request/web_helper.rb + - spec/support/seeds.rb + - spec/support/spree/init.rb + +Metrics/AbcSize: + Max: 15 + Exclude: + - app/controllers/admin/bulk_line_items_controller.rb + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/product_import_controller.rb + - app/controllers/admin/schedules_controller.rb + - app/controllers/admin/stripe_accounts_controller.rb + - app/controllers/admin/subscription_line_items_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/api/enterprises_controller.rb + - app/controllers/api/order_cycles_controller.rb + - app/controllers/api/product_images_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/discourse_sso_controller.rb + - app/controllers/enterprises_controller.rb + - app/controllers/spree/admin/adjustments_controller_decorator.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/overview_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/payments_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/search_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/api/products_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/user_sessions_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/controllers/user_passwords_controller.rb + - app/controllers/user_registrations_controller.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/helpers/spree/orders_helper.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/models/billable_period.rb + - app/models/calculator/flat_percent_per_item.rb + - app/models/column_preference.rb + - app/models/enterprise_group.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/model_set.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/proxy_order.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - app/models/spree/taxon_decorator.rb + - app/serializers/api/admin/enterprise_serializer.rb + - app/serializers/api/enterprise_serializer.rb + - app/serializers/api/product_serializer.rb + - app/serializers/api/variant_serializer.rb + - app/services/cart_service.rb + - app/services/create_order_cycle.rb + - app/services/order_syncer.rb + - app/services/subscription_validator.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/option_value_namer.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/variant_and_line_item_naming.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/stripe/account_connector.rb + - lib/tasks/enterprises.rake + - spec/archive/features/consumer/checkout_spec.rb + - spec/controllers/spree/admin/orders_controller_spec.rb + - spec/features/admin/reports_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/models/enterprise_spec.rb + - spec/models/product_importer_spec.rb + - spec/support/performance_helper.rb + +Metrics/CyclomaticComplexity: + Max: 6 + Exclude: + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - app/models/variant_override_set.rb + - app/services/cart_service.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bill_calculator.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/spree/core/controller_helpers/order_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - spec/models/product_importer_spec.rb + +Metrics/PerceivedComplexity: + Max: 7 + Exclude: + - app/controllers/admin/enterprises_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/helpers/admin/business_model_configuration_helper.rb + - app/helpers/checkout_helper.rb + - app/helpers/i18n_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/update_account_invoices.rb + - app/models/enterprise_relationship.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/product_decorator.rb + - app/models/spree/product_set.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_issue_validator.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/spree/core/controller_helpers/order_decorator.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - spec/models/product_importer_spec.rb + +Metrics/MethodLength: + Max: 10 + Exclude: + - app/controllers/admin/customers_controller.rb + - app/controllers/admin/enterprise_fees_controller.rb + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/manager_invitations_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/stripe_accounts_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/base_controller.rb + - app/controllers/cart_controller.rb + - app/controllers/checkout_controller.rb + - app/controllers/shop_controller.rb + - app/controllers/spree/admin/line_items_controller_decorator.rb + - app/controllers/spree/admin/orders_controller_decorator.rb + - app/controllers/spree/admin/payment_methods_controller_decorator.rb + - app/controllers/spree/admin/payments_controller_decorator.rb + - app/controllers/spree/admin/products_controller_decorator.rb + - app/controllers/spree/admin/reports_controller_decorator.rb + - app/controllers/spree/admin/search_controller_decorator.rb + - app/controllers/spree/admin/shipping_methods_controller_decorator.rb + - app/controllers/spree/credit_cards_controller.rb + - app/controllers/spree/orders_controller_decorator.rb + - app/controllers/spree/user_sessions_controller_decorator.rb + - app/controllers/stripe/callbacks_controller.rb + - app/controllers/user_confirmations_controller.rb + - app/controllers/user_passwords_controller.rb + - app/controllers/user_registrations_controller.rb + - app/helpers/checkout_helper.rb + - app/helpers/order_cycles_helper.rb + - app/helpers/spree/admin/orders_helper_decorator.rb + - app/jobs/finalize_account_invoices.rb + - app/jobs/subscription_placement_job.rb + - app/jobs/update_account_invoices.rb + - app/jobs/update_billable_periods.rb + - app/mailers/producer_mailer.rb + - app/models/billable_period.rb + - app/models/column_preference.rb + - app/models/enterprise.rb + - app/models/enterprise_relationship.rb + - app/models/preference_sections/footer_and_external_links_section.rb + - app/models/preference_sections/main_links_section.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/spree/ability_decorator.rb + - app/models/spree/adjustment_decorator.rb + - app/models/spree/calculator/default_tax_decorator.rb + - app/models/spree/calculator/flexi_rate_decorator.rb + - app/models/spree/line_item_decorator.rb + - app/models/spree/order_decorator.rb + - app/models/spree/payment_decorator.rb + - app/models/spree/payment_method_decorator.rb + - app/models/spree/product_set.rb + - app/models/spree/taxon_decorator.rb + - app/serializers/api/admin/order_cycle_serializer.rb + - app/services/cart_service.rb + - app/services/order_cycle_form.rb + - lib/discourse/single_sign_on.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/cached_products_renderer.rb + - lib/open_food_network/column_preference_defaults.rb + - lib/open_food_network/customers_report.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/group_buy_report.rb + - lib/open_food_network/lettuce_share_report.rb + - lib/open_food_network/option_value_namer.rb + - lib/open_food_network/order_and_distributor_report.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/order_grouper.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_and_inventory_report.rb + - lib/open_food_network/products_renderer.rb + - lib/open_food_network/rack_request_blocker.rb + - lib/open_food_network/reports/bulk_coop_allocation_report.rb + - lib/open_food_network/reports/bulk_coop_supplier_report.rb + - lib/open_food_network/reports/line_items.rb + - lib/open_food_network/sales_tax_report.rb + - lib/open_food_network/users_and_enterprises_report.rb + - lib/open_food_network/xero_invoices_report.rb + - lib/spree/core/controller_helpers/respond_with_decorator.rb + - lib/spree/localized_number.rb + - lib/stripe/profile_storer.rb + - spec/archive/features/consumer/checkout_spec.rb + - spec/features/consumer/shopping/checkout_spec.rb + - spec/features/consumer/shopping/variant_overrides_spec.rb + - spec/models/product_importer_spec.rb + - spec/support/request/authentication_workflow.rb + +Metrics/ClassLength: + Max: 100 + Exclude: + - app/controllers/admin/enterprises_controller.rb + - app/controllers/admin/order_cycles_controller.rb + - app/controllers/admin/subscriptions_controller.rb + - app/controllers/checkout_controller.rb + - app/models/enterprise.rb + - app/models/order_cycle.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - app/models/product_import/product_importer.rb + - app/models/spree/ability_decorator.rb + - app/serializers/api/enterprise_serializer.rb + - app/services/cart_service.rb + - lib/open_food_network/bulk_coop_report.rb + - lib/open_food_network/enterprise_fee_calculator.rb + - lib/open_food_network/order_cycle_form_applicator.rb + - lib/open_food_network/order_cycle_management_report.rb + - lib/open_food_network/order_cycle_permissions.rb + - lib/open_food_network/orders_and_fulfillments_report.rb + - lib/open_food_network/packing_report.rb + - lib/open_food_network/payments_report.rb + - lib/open_food_network/permissions.rb + - lib/open_food_network/products_cache.rb + - lib/open_food_network/xero_invoices_report.rb + +Metrics/ModuleLength: + Max: 100 + Exclude: + - lib/open_food_network/column_preference_defaults.rb + - spec/controllers/admin/enterprises_controller_spec.rb + - spec/controllers/admin/order_cycles_controller_spec.rb + - spec/controllers/api/order_cycles_controller_spec.rb + - spec/controllers/api/orders_controller_spec.rb + - spec/controllers/spree/api/products_controller_spec.rb + - spec/lib/open_food_network/address_finder_spec.rb + - spec/lib/open_food_network/customers_report_spec.rb + - spec/lib/open_food_network/enterprise_fee_calculator_spec.rb + - spec/lib/open_food_network/option_value_namer_spec.rb + - spec/lib/open_food_network/order_cycle_form_applicator_spec.rb + - spec/lib/open_food_network/order_cycle_permissions_spec.rb + - spec/lib/open_food_network/order_grouper_spec.rb + - spec/lib/open_food_network/permissions_spec.rb + - spec/lib/open_food_network/products_and_inventory_report_spec.rb + - spec/lib/open_food_network/products_cache_spec.rb + - spec/lib/open_food_network/proxy_order_syncer_spec.rb + - spec/lib/open_food_network/scope_variant_to_hub_spec.rb + - spec/lib/open_food_network/subscription_payment_updater_spec.rb + - spec/lib/open_food_network/tag_rule_applicator_spec.rb + - spec/lib/open_food_network/users_and_enterprises_report_spec.rb + - spec/models/spree/ability_spec.rb + - spec/models/spree/adjustment_spec.rb + - spec/models/spree/line_item_spec.rb + - spec/models/spree/payment_spec.rb + - spec/models/spree/product_spec.rb + - spec/models/spree/variant_spec.rb + - spec/support/request/web_helper.rb + +Metrics/ParameterLists: + Max: 5 + Exclude: + - app/helpers/angular_form_builder.rb + - app/models/product_import/entry_processor.rb + - app/models/product_import/entry_validator.rb + - lib/open_food_network/xero_invoices_report.rb + - spec/features/admin/reports_spec.rb + +Metrics/BlockNesting: + Max: 3 + Exclude: + - app/controllers/checkout_controller.rb diff --git a/.rubocop_styleguide.yml b/.rubocop_styleguide.yml new file mode 100644 index 0000000000..ddf8e236b8 --- /dev/null +++ b/.rubocop_styleguide.yml @@ -0,0 +1,208 @@ +# Our Open Food Network style guide. +# +# These are the rules we agreed upon and we work towards. Code Climate uses +# these rules to rate our code and detect new violations. But when you run +# rubocop locally, the default configuration file `.rubocop.yml` loads +# our "todo lists" to ignore all current violations. +AllCops: + TargetRubyVersion: 2.1 + TargetRailsVersion: 3.2 + Exclude: + - 'db/**/*' + - 'config/**/*' + - 'script/**/*' + - 'vendor/**/*' + - 'node_modules/**/*' + # The parser gem fails to parse this file with out current Ruby version. + - 'spec/factories.rb' + # Excluding: inadequate Naming/FileName rule rejects GemFile name with camelcase + - 'engines/web/Gemfile' + +## OFN SETTINGS +# +# Cop settings that have been agreed upon by the OFN community + +Rails: + Enabled: true + +Style/Documentation: + Enabled: false + +Style/StringLiterals: + Enabled: false + +Style/HashSyntax: + Enabled: true + EnforcedStyle: ruby19_no_mixed_keys + +Style/Send: + Enabled: true + +Layout/MultilineMethodCallIndentation: + Enabled: true + EnforcedStyle: indented + +Metrics/LineLength: + Max: 100 + +## TEMPORARY/CONTESTED SETTINGS +# +# These are still to be decided upon, but recommended for inclusion by +# oeoeaio after scrutinising offenses the codebase + +# Don't think this is a big issue, mostly picking up RPSEC scope definitions +# with lamdas and RSpec '.to change{}' blocks +Lint/AmbiguousBlockAssociation: + Enabled: false + +# Heaps of offences (> 100) in specs, mostly in situations where two or more +# instances of a model are required, but only one is referenced. Difficult to +# fix without making the spec look messy or rewriting it. +# Should definitely fix at some point. +Lint/UselessAssignment: + Exclude: + - spec/**/* + +# AFAIK, there is no good alternative to dynamic matchers until we upgrade +# to Rails 4 and can use #find_by. If there is a better approach, let's do it. +Rails/DynamicFindBy: + Enabled: false + +# Same as above, #find_by is not available until Rails 4 +Rails/FindBy: + Enabled: false + +# Same as above, #update! is not available until Rails 4 +Rails/ActiveRecordAliases: + Enabled: false + +# This should be the programmer's discretion, perhaps we should review all of +# the uses of it an make specific exceptions though. +Rails/SkipsModelValidations: + Enabled: false + +## Relaxed.Ruby.Style SETTINGS +# +# These styles are a starting point for the conversation around conventions +# They should be removed or tweaked and moved above as decisions are made +# NOTE: Cops which did not fail at the time of writing were removed + +Layout/DotPosition: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styledotposition + +Layout/SpaceBeforeBlockBraces: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces + +Layout/SpaceInsideParens: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens + +Style/Alias: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylealias + +Style/BlockDelimiters: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styleblockdelimiters + +Style/CommentAnnotation: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylecommentannotation + +Style/DoubleNegation: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styledoublenegation + +Style/FormatString: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styleformatstring + +Style/IfUnlessModifier: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styleifunlessmodifier + +Style/Lambda: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylelambda + +Style/MultilineBlockChain: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylemultilineblockchain + +Style/NegatedIf: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylenegatedif + +Style/NegatedWhile: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile + +Style/ParallelAssignment: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styleparallelassignment + +Style/PercentLiteralDelimiters: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylepercentliteraldelimiters + +Style/Semicolon: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylesemicolon + +Style/SingleLineMethods: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods + +Style/TrailingCommaInArguments: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styletrailingcommainarguments + +Style/TrailingCommaInArrayLiteral: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styletrailingcommainliteral + +Style/TrailingCommaInHashLiteral: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#styletrailingcommainliteral + +Style/WordArray: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylewordarray + +Style/SymbolArray: + Enabled: false + StyleGuide: https://rubocop.readthedocs.io/en/latest/cops_style/#stylesymbolarray + +Lint/AmbiguousRegexpLiteral: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral + +Lint/AssignmentInCondition: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#lintassignmentincondition + +Metrics/AbcSize: + Max: 15 + +Metrics/BlockNesting: + Max: 3 + +Metrics/ClassLength: + Max: 100 + +Metrics/ModuleLength: + Max: 100 + +Metrics/CyclomaticComplexity: + Max: 6 + +Metrics/MethodLength: + Max: 10 + +Metrics/ParameterLists: + Max: 5 + +Metrics/PerceivedComplexity: + Max: 7