diff --git a/.rubocop.yml b/.rubocop.yml index 2d06208942..779460f826 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -10,6 +10,9 @@ inherit_from: # The automatically generated todo list to ignore all current violations. - .rubocop_todo.yml + # The relaxed style rules as a common starting point which we can refine. + - .rubocop_relaxed_styleguide.yml + # Our Open Food Network style guide. If you want to see all violations, # then use only that configuration: # diff --git a/.rubocop_relaxed_styleguide.yml b/.rubocop_relaxed_styleguide.yml new file mode 100644 index 0000000000..10f11931f1 --- /dev/null +++ b/.rubocop_relaxed_styleguide.yml @@ -0,0 +1,153 @@ +# Relaxed.Ruby.Style +## Version 2.5 + +Style/Alias: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylealias + +Style/AsciiComments: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleasciicomments + +Style/BeginBlock: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylebeginblock + +Style/BlockDelimiters: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleblockdelimiters + +Style/CommentAnnotation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylecommentannotation + +Style/Documentation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styledocumentation + +Layout/DotPosition: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutdotposition + +Style/DoubleNegation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styledoublenegation + +Style/EndBlock: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleendblock + +Style/FormatString: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleformatstring + +Style/IfUnlessModifier: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleifunlessmodifier + +Style/Lambda: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylelambda + +Style/ModuleFunction: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylemodulefunction + +Style/MultilineBlockChain: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylemultilineblockchain + +Style/NegatedIf: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenegatedif + +Style/NegatedWhile: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenegatedwhile + +Style/NumericPredicate: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenumericpredicate + +Style/ParallelAssignment: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleparallelassignment + +Style/PercentLiteralDelimiters: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylepercentliteraldelimiters + +Style/PerlBackrefs: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleperlbackrefs + +Style/Semicolon: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesemicolon + +Style/SignalException: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesignalexception + +Style/SingleLineBlockParams: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesinglelineblockparams + +Style/SingleLineMethods: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesinglelinemethods + +Layout/SpaceBeforeBlockBraces: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutspacebeforeblockbraces + +Layout/SpaceInsideParens: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutspaceinsideparens + +Style/SpecialGlobalVars: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylespecialglobalvars + +Style/StringLiterals: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylestringliterals + +Style/TrailingCommaInArguments: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarguments + +Style/TrailingCommaInArrayLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarrayliteral + +Style/TrailingCommaInHashLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainhashliteral + +Style/SymbolArray: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylesymbolarray + +Style/WhileUntilModifier: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylewhileuntilmodifier + +Style/WordArray: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylewordarray + +Lint/AmbiguousRegexpLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#lintambiguousregexpliteral + +Lint/AssignmentInCondition: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#lintassignmentincondition + +Layout/LineLength: + Enabled: false + +Metrics: + Enabled: false + diff --git a/.rubocop_specs.yml b/.rubocop_specs.yml deleted file mode 100644 index 8ea54cd55c..0000000000 --- a/.rubocop_specs.yml +++ /dev/null @@ -1,7 +0,0 @@ -inherit_from: - - .rubocop.yml - -# This rubocop config file is only used for specs -# Here we allow specs to be 300 lines long -Metrics/ModuleLength: - Max: 300 diff --git a/.rubocop_styleguide.yml b/.rubocop_styleguide.yml index 0840c14fc5..31e65d089b 100644 --- a/.rubocop_styleguide.yml +++ b/.rubocop_styleguide.yml @@ -19,6 +19,25 @@ AllCops: # # Cop settings that have been agreed upon by the OFN community +Metrics: + Enabled: true + +Metrics/BlockLength: + IgnoredMethods: [ + "class_eval", + "collection", + "context", + "describe", + "feature", + "it", + "member", + "namespace", + "resource", + "resources", + "scenario", + "shared_examples", + ] + Rails/SkipsModelValidations: AllowedMethods: - "touch" @@ -46,6 +65,7 @@ Layout/MultilineMethodCallIndentation: EnforcedStyle: indented Layout/LineLength: + Enabled: true Max: 100 Lint/RaiseException: @@ -75,157 +95,16 @@ Lint/UselessAssignment: Exclude: - spec/**/* -## 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/HashEachMethods: - Enabled: false - -Style/HashTransformKeys: - Enabled: false - -Style/HashTransformValues: - Enabled: false - -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/BlockLength: - Max: 25 - IgnoredMethods: [ - "class_eval", - "collection", - "context", - "describe", - "feature", - "it", - "member", - "namespace", - "resource", - "resources", - "scenario", - "shared_examples", - ] - -Metrics/BlockNesting: - Max: 3 - -Metrics/ClassLength: - Max: 100 - -Metrics/ModuleLength: - Max: 100 - -Metrics/CyclomaticComplexity: - Max: 6 + Max: 30 # default 17 Metrics/MethodLength: - Max: 10 - -Metrics/ParameterLists: - Max: 5 + Enabled: true + Max: 25 # default 10 Metrics/PerceivedComplexity: - Max: 7 + Enabled: true + Max: 14 # default 8 Naming/PredicateName: Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 4f11093dbf..14cbe53446 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 1400` -# on 2022-02-07 05:53:22 UTC using RuboCop version 1.22.2. +# on 2022-02-25 01:04:47 UTC using RuboCop version 1.22.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -53,7 +53,7 @@ Layout/LeadingCommentSpace: Exclude: - 'spec/system/admin/enterprises_spec.rb' -# Offense count: 815 +# Offense count: 828 # Cop supports --auto-correct. # Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https @@ -101,7 +101,6 @@ Layout/LineLength: - 'app/models/subscription.rb' - 'app/models/variant_override.rb' - 'app/serializers/api/admin/subscription_line_item_serializer.rb' - - 'app/serializers/api/admin/subscription_serializer.rb' - 'app/services/cart_service.rb' - 'app/services/checkout/post_checkout_actions.rb' - 'app/services/embedded_page_service.rb' @@ -251,7 +250,6 @@ Layout/LineLength: - 'spec/support/matchers/table_matchers.rb' - 'spec/support/request/stripe_stubs.rb' - 'spec/support/request/web_helper.rb' - - 'spec/swagger_helper.rb' - 'spec/system/admin/adjustments_spec.rb' - 'spec/system/admin/bulk_order_management_spec.rb' - 'spec/system/admin/bulk_product_update_spec.rb' @@ -405,180 +403,43 @@ Lint/UselessMethodDefinition: - 'app/controllers/spree/user_registrations_controller.rb' - 'app/models/spree/gateway.rb' -# Offense count: 261 +# Offense count: 39 # Configuration parameters: IgnoredMethods, CountRepeatedAttributes, Max. Metrics/AbcSize: 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/resource_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/v0/enterprises_controller.rb' - - 'app/controllers/api/v0/product_images_controller.rb' - - 'app/controllers/api/v0/products_controller.rb' - - 'app/controllers/api/v0/shipments_controller.rb' - - 'app/controllers/api/v0/taxons_controller.rb' - - 'app/controllers/api/v0/variants_controller.rb' - - 'app/controllers/checkout_controller.rb' - - 'app/controllers/concerns/order_completion.rb' - - 'app/controllers/discourse_sso_controller.rb' - - 'app/controllers/enterprises_controller.rb' - 'app/controllers/payment_gateways/paypal_controller.rb' - - 'app/controllers/payment_gateways/stripe_controller.rb' - - 'app/controllers/split_checkout_controller.rb' - - 'app/controllers/spree/admin/adjustments_controller.rb' - - 'app/controllers/spree/admin/general_settings_controller.rb' - - 'app/controllers/spree/admin/images_controller.rb' - - 'app/controllers/spree/admin/mail_methods_controller.rb' - - 'app/controllers/spree/admin/orders/customer_details_controller.rb' - 'app/controllers/spree/admin/orders_controller.rb' - - 'app/controllers/spree/admin/overview_controller.rb' - - 'app/controllers/spree/admin/payment_methods_controller.rb' - 'app/controllers/spree/admin/payments_controller.rb' - - 'app/controllers/spree/admin/products_controller.rb' - - 'app/controllers/spree/admin/reports_controller.rb' - - 'app/controllers/spree/admin/search_controller.rb' - - 'app/controllers/spree/admin/shipping_methods_controller.rb' - 'app/controllers/spree/admin/taxons_controller.rb' - - 'app/controllers/spree/admin/users_controller.rb' - 'app/controllers/spree/admin/variants_controller.rb' - - 'app/controllers/spree/credit_cards_controller.rb' - 'app/controllers/spree/orders_controller.rb' - - 'app/controllers/spree/user_sessions_controller.rb' - - 'app/controllers/spree/users_controller.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/application_helper.rb' - 'app/helpers/checkout_helper.rb' - - 'app/helpers/order_cycles_helper.rb' - - 'app/helpers/spree/admin/base_helper.rb' - 'app/helpers/spree/admin/navigation_helper.rb' - - 'app/helpers/spree/admin/zones_helper.rb' - - 'app/helpers/spree/base_helper.rb' - - 'app/helpers/spree/orders_helper.rb' - - 'app/helpers/tax_helper.rb' - - 'app/mailers/producer_mailer.rb' - - 'app/mailers/spree/order_mailer.rb' - - 'app/models/calculator/flat_percent_per_item.rb' - - 'app/models/column_preference.rb' - - 'app/models/enterprise.rb' - 'app/models/enterprise_group.rb' - 'app/models/enterprise_relationship.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/product_import/unit_converter.rb' - - 'app/models/proxy_order.rb' - 'app/models/spree/ability.rb' - 'app/models/spree/address.rb' - - 'app/models/spree/adjustment.rb' - - 'app/models/spree/gateway/pay_pal_express.rb' - - 'app/models/spree/image.rb' - - 'app/models/spree/item_adjustments.rb' - - 'app/models/spree/line_item.rb' - - 'app/models/spree/order.rb' - 'app/models/spree/order/checkout.rb' - - 'app/models/spree/order_inventory.rb' - - 'app/models/spree/payment.rb' - - 'app/models/spree/payment/processing.rb' - - 'app/models/spree/preference.rb' - - 'app/models/spree/preferences/preferable.rb' - 'app/models/spree/preferences/preferable_class_methods.rb' - - 'app/models/spree/product.rb' - 'app/models/spree/return_authorization.rb' - - 'app/models/spree/shipment.rb' - - 'app/models/spree/tax_rate.rb' - - 'app/models/spree/taxon.rb' - - 'app/models/spree/variant.rb' - - 'app/models/spree/zone.rb' - - 'app/serializers/api/admin/enterprise_serializer.rb' - - 'app/serializers/api/variant_serializer.rb' - - 'app/services/cap_quantity.rb' - - 'app/services/cart_service.rb' - - 'app/services/create_order_cycle.rb' - - 'app/services/order_cycle_form.rb' - - 'app/services/order_factory.rb' - - 'app/services/order_syncer.rb' - - 'app/services/place_proxy_order.rb' - - 'app/services/process_payment_intent.rb' - - 'app/services/products_renderer.rb' - - 'app/services/search_orders.rb' - - 'app/services/sets/model_set.rb' - - 'app/services/variant_units/option_value_namer.rb' - - 'app/services/variant_units/variant_and_line_item_naming.rb' - - 'app/services/variants_stock_levels.rb' - - 'engines/order_management/app/services/order_management/order/updater.rb' - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb' - - 'engines/order_management/app/services/order_management/stock/estimator.rb' - - 'engines/order_management/app/services/order_management/stock/package.rb' - - 'engines/order_management/app/services/order_management/stock/packer.rb' - - 'engines/order_management/app/services/order_management/subscriptions/form.rb' - - 'engines/order_management/app/services/order_management/subscriptions/validator.rb' - - 'lib/active_merchant/billing/gateways/stripe_payment_intents_decorator.rb' - 'lib/discourse/single_sign_on.rb' - 'lib/open_food_network/customers_report.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/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/supplier_totals_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/xero_invoices_report.rb' - - 'lib/reporting/queries/query_builder.rb' - - 'lib/reporting/reports/packing/base.rb' - 'lib/reporting/reports/packing/customer.rb' - - 'lib/reporting/reports/packing/supplier.rb' - - 'lib/session_cookie_upgrader.rb' - - 'lib/spree/api/controller_setup.rb' - - 'lib/spree/core/controller_helpers/auth.rb' - - 'lib/spree/core/controller_helpers/common.rb' - 'lib/spree/core/controller_helpers/order.rb' - - 'lib/spree/core/controller_helpers/respond_with.rb' - - 'lib/spree/core/delegate_belongs_to.rb' - - 'lib/spree/core/permalinks.rb' - - 'lib/spree/core/product_duplicator.rb' - 'lib/spree/core/s3_support.rb' - - 'lib/spree/localized_number.rb' - - 'lib/stripe/account_connector.rb' - - 'lib/stripe/authorize_response_patcher.rb' - - 'lib/stripe/profile_storer.rb' - 'lib/tasks/enterprises.rake' - - 'lib/tasks/sample_data/order_factory.rb' - - 'lib/tasks/sample_data/product_factory.rb' - - 'spec/controllers/api/v0/reports/packing_report_spec.rb' - - 'spec/models/enterprise_spec.rb' - - 'spec/models/product_importer_spec.rb' - 'spec/services/order_checkout_restart_spec.rb' - - 'spec/support/i18n_translations_checker.rb' - - 'spec/support/performance_helper.rb' - - 'spec/support/request/web_helper.rb' - - 'spec/system/admin/product_import_spec.rb' - - 'spec/system/admin/reports_spec.rb' - - 'spec/system/admin/subscriptions_spec.rb' - - 'spec/system/consumer/shopping/shopping_spec.rb' - - 'spec/system/consumer/shopping/variant_overrides_spec.rb' -# Offense count: 46 +# Offense count: 45 # Configuration parameters: CountComments, Max, CountAsOne, ExcludedMethods, IgnoredMethods. # IgnoredMethods: refine Metrics/BlockLength: @@ -608,7 +469,6 @@ Metrics/BlockLength: - 'spec/support/cancan_helper.rb' - 'spec/support/matchers/select2_matchers.rb' - 'spec/support/matchers/table_matchers.rb' - - 'spec/swagger_helper.rb' - 'spec/system/admin/order_cycles/complex_updating_specific_time_spec.rb' - 'spec/system/consumer/shopping/checkout_spec.rb' @@ -672,211 +532,71 @@ Metrics/ClassLength: - 'lib/open_food_network/users_and_enterprises_report.rb' - 'lib/open_food_network/xero_invoices_report.rb' -# Offense count: 71 +# Offense count: 40 # Configuration parameters: IgnoredMethods, Max. Metrics/CyclomaticComplexity: 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.rb' - - 'app/controllers/spree/admin/payment_methods_controller.rb' - - 'app/controllers/spree/admin/payments_controller.rb' - 'app/controllers/spree/admin/taxons_controller.rb' - - 'app/controllers/spree/admin/users_controller.rb' - 'app/controllers/spree/orders_controller.rb' - 'app/helpers/checkout_helper.rb' - 'app/helpers/order_cycles_helper.rb' - - 'app/helpers/spree/admin/base_helper.rb' - 'app/helpers/spree/admin/navigation_helper.rb' - - 'app/helpers/spree/admin/orders_helper.rb' - 'app/models/enterprise.rb' - 'app/models/enterprise_relationship.rb' - 'app/models/product_import/entry_validator.rb' - 'app/models/spree/ability.rb' - 'app/models/spree/address.rb' - - 'app/models/spree/adjustment.rb' - 'app/models/spree/order/checkout.rb' - 'app/models/spree/order_inventory.rb' - - 'app/models/spree/payment.rb' - 'app/models/spree/preference.rb' - 'app/models/spree/preferences/preferable.rb' - 'app/models/spree/preferences/preferable_class_methods.rb' - 'app/models/spree/product.rb' - 'app/models/spree/return_authorization.rb' - - 'app/models/spree/shipment.rb' - 'app/models/spree/tax_rate.rb' - 'app/models/spree/variant.rb' - 'app/models/spree/zone.rb' - - 'app/services/cart_service.rb' - - 'app/services/products_renderer.rb' - - 'app/services/sets/model_set.rb' - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb' - - 'engines/order_management/app/services/order_management/reports/enterprise_fee_summary/parameters.rb' - - 'engines/order_management/app/services/order_management/stock/estimator.rb' - - 'engines/order_management/app/services/order_management/subscriptions/validator.rb' - - 'lib/active_merchant/billing/gateways/stripe_payment_intents_decorator.rb' - 'lib/discourse/single_sign_on.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/order_cycle_form_applicator.rb' - - 'lib/open_food_network/order_cycle_permissions.rb' - 'lib/open_food_network/orders_and_fulfillments_report/customer_totals_report.rb' - 'lib/open_food_network/payments_report.rb' - - 'lib/open_food_network/sales_tax_report.rb' - 'lib/open_food_network/xero_invoices_report.rb' - - 'lib/spree/core/controller_helpers/common.rb' - 'lib/spree/core/controller_helpers/order.rb' - 'lib/spree/core/controller_helpers/respond_with.rb' - 'lib/spree/localized_number.rb' - - 'lib/stripe/authorize_response_patcher.rb' - - 'lib/stripe/credit_card_clone_destroyer.rb' - 'spec/models/product_importer_spec.rb' - - 'spec/support/i18n_translations_checker.rb' -# Offense count: 258 +# Offense count: 31 # Configuration parameters: CountComments, Max, CountAsOne, ExcludedMethods, IgnoredMethods. Metrics/MethodLength: Exclude: - - 'app/controllers/admin/bulk_line_items_controller.rb' - - 'app/controllers/admin/contents_controller.rb' - - '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/resource_controller.rb' - - 'app/controllers/admin/stripe_accounts_controller.rb' - - 'app/controllers/admin/subscriptions_controller.rb' - - 'app/controllers/api/v0/exchange_products_controller.rb' - - 'app/controllers/api/v0/product_images_controller.rb' - - 'app/controllers/api/v0/products_controller.rb' - - 'app/controllers/api/v0/shipments_controller.rb' - - 'app/controllers/api/v0/taxons_controller.rb' - - 'app/controllers/api/v0/variants_controller.rb' - - 'app/controllers/checkout_controller.rb' - - 'app/controllers/concerns/order_completion.rb' - 'app/controllers/payment_gateways/paypal_controller.rb' - - 'app/controllers/shop_controller.rb' - - 'app/controllers/split_checkout_controller.rb' - - 'app/controllers/spree/admin/orders/customer_details_controller.rb' - - 'app/controllers/spree/admin/orders_controller.rb' - - 'app/controllers/spree/admin/payment_methods_controller.rb' - - 'app/controllers/spree/admin/payments_controller.rb' - - 'app/controllers/spree/admin/products_controller.rb' - - 'app/controllers/spree/admin/reports_controller.rb' - - 'app/controllers/spree/admin/tax_categories_controller.rb' - 'app/controllers/spree/admin/taxons_controller.rb' - - 'app/controllers/spree/admin/users_controller.rb' - - 'app/controllers/spree/admin/variants_controller.rb' - - 'app/controllers/spree/credit_cards_controller.rb' - 'app/controllers/spree/orders_controller.rb' - - 'app/controllers/spree/user_sessions_controller.rb' - - 'app/controllers/spree/users_controller.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/application_helper.rb' - 'app/helpers/checkout_helper.rb' - - 'app/helpers/order_cycles_helper.rb' - - 'app/helpers/spree/admin/base_helper.rb' - 'app/helpers/spree/admin/navigation_helper.rb' - - 'app/mailers/producer_mailer.rb' - - 'app/models/calculator/default_tax.rb' - - 'app/models/column_preference.rb' - - 'app/models/concerns/calculated_adjustments.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.rb' - - 'app/models/spree/address.rb' - - 'app/models/spree/adjustment.rb' - - 'app/models/spree/credit_card.rb' - 'app/models/spree/gateway/pay_pal_express.rb' - - 'app/models/spree/order.rb' - 'app/models/spree/order/checkout.rb' - - 'app/models/spree/order_contents.rb' - - 'app/models/spree/order_inventory.rb' - 'app/models/spree/payment/processing.rb' - - 'app/models/spree/preference.rb' - - 'app/models/spree/preferences/preferable.rb' - 'app/models/spree/preferences/preferable_class_methods.rb' - - 'app/models/spree/preferences/store.rb' - - 'app/models/spree/product.rb' - - 'app/models/spree/return_authorization.rb' - - 'app/models/spree/shipment.rb' - - 'app/models/spree/tax_rate.rb' - - 'app/models/spree/taxon.rb' - - 'app/models/spree/zone.rb' - - 'app/serializers/api/admin/order_cycle_serializer.rb' - - 'app/serializers/api/cached_enterprise_serializer.rb' - - 'app/services/cart_service.rb' - - 'app/services/mail_configuration.rb' - - 'app/services/order_cycle_form.rb' - - 'app/services/permitted_attributes/checkout.rb' - - 'app/services/permitted_attributes/enterprise.rb' - - 'app/services/place_proxy_order.rb' - - 'app/services/process_payment_intent.rb' - - 'app/services/products_renderer.rb' - - 'app/services/variant_units/option_value_namer.rb' - - 'engines/order_management/app/services/order_management/order/updater.rb' - - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_allocation_report.rb' - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb' - - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_supplier_report.rb' - 'engines/order_management/app/services/order_management/reports/enterprise_fee_summary/scope.rb' - - 'engines/order_management/app/services/order_management/stock/estimator.rb' - - 'engines/order_management/app/services/order_management/stock/package.rb' - - 'lib/active_merchant/billing/gateways/stripe_payment_intents_decorator.rb' - 'lib/discourse/single_sign_on.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/enterprise_issue_validator.rb' - - 'lib/open_food_network/group_buy_report.rb' - - 'lib/open_food_network/lettuce_share_report.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/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/xero_invoices_report.rb' - - 'lib/reporting/reports/packing/base.rb' - - 'lib/reporting/reports/packing/customer.rb' - - 'lib/reporting/reports/packing/supplier.rb' - - 'lib/session_cookie_upgrader.rb' - - 'lib/spree/api/controller_setup.rb' - - 'lib/spree/core/controller_helpers/order.rb' - - 'lib/spree/core/controller_helpers/respond_with.rb' - - 'lib/spree/core/delegate_belongs_to.rb' - - 'lib/spree/core/permalinks.rb' - - 'lib/spree/core/s3_support.rb' - - 'lib/spree/localized_number.rb' - - 'lib/spree/responder.rb' - - 'lib/stripe/credit_card_clone_finder.rb' - - 'lib/stripe/profile_storer.rb' - - 'lib/tasks/sample_data/group_factory.rb' - - 'lib/tasks/sample_data/order_factory.rb' - 'lib/tasks/sample_data/product_factory.rb' - - 'spec/controllers/api/v0/reports/packing_report_spec.rb' - - 'spec/models/product_importer_spec.rb' - - 'spec/support/i18n_translations_checker.rb' - - 'spec/support/request/checkout_request_helper.rb' - - 'spec/system/admin/reports_spec.rb' - - 'spec/system/consumer/shopping/variant_overrides_spec.rb' -# Offense count: 20 +# Offense count: 51 # Configuration parameters: CountComments, Max, CountAsOne. Metrics/ModuleLength: Exclude: @@ -888,18 +608,49 @@ Metrics/ModuleLength: - 'app/helpers/spree/admin/orders_helper.rb' - 'app/models/spree/order/checkout.rb' - 'app/models/spree/payment/processing.rb' + - 'engines/catalog/spec/services/catalog/product_import/products_reset_strategy_spec.rb' + - 'engines/order_management/spec/services/order_management/order/updater_spec.rb' + - 'engines/order_management/spec/services/order_management/stock/package_spec.rb' + - 'engines/order_management/spec/services/order_management/subscriptions/estimator_spec.rb' + - 'engines/order_management/spec/services/order_management/subscriptions/form_spec.rb' - 'engines/order_management/spec/services/order_management/subscriptions/proxy_order_syncer_spec.rb' + - 'engines/order_management/spec/services/order_management/subscriptions/summarizer_spec.rb' + - 'engines/order_management/spec/services/order_management/subscriptions/summary_spec.rb' - 'engines/order_management/spec/services/order_management/subscriptions/validator_spec.rb' + - 'engines/order_management/spec/services/order_management/subscriptions/variants_list_spec.rb' - 'lib/open_food_network/column_preference_defaults.rb' + - 'spec/controllers/admin/customers_controller_spec.rb' - 'spec/controllers/admin/order_cycles_controller_spec.rb' + - 'spec/controllers/api/v0/order_cycles_controller_spec.rb' - 'spec/controllers/api/v0/orders_controller_spec.rb' + - 'spec/controllers/payment_gateways/stripe_controller_spec.rb' + - 'spec/controllers/spree/admin/adjustments_controller_spec.rb' + - 'spec/controllers/spree/admin/payment_methods_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/order_cycle_form_applicator_spec.rb' + - 'spec/lib/open_food_network/order_cycle_management_report_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/scope_variant_to_hub_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/adjustment_spec.rb' + - 'spec/models/spree/credit_card_spec.rb' - 'spec/models/spree/line_item_spec.rb' + - 'spec/models/spree/order/tax_spec.rb' - 'spec/models/spree/product_spec.rb' + - 'spec/models/spree/shipping_method_spec.rb' - 'spec/models/spree/tax_rate_spec.rb' - 'spec/models/spree/variant_spec.rb' + - 'spec/services/permissions/order_spec.rb' + - 'spec/services/variant_units/option_value_namer_spec.rb' + - 'spec/support/request/shop_workflow.rb' + - 'spec/support/request/stripe_stubs.rb' + - 'spec/support/request/web_helper.rb' # Offense count: 7 # Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters. @@ -911,48 +662,18 @@ Metrics/ParameterLists: - 'spec/support/controller_requests_helper.rb' - 'spec/system/admin/reports_spec.rb' -# Offense count: 45 +# Offense count: 8 # Configuration parameters: IgnoredMethods, Max. Metrics/PerceivedComplexity: Exclude: - - 'app/controllers/admin/enterprises_controller.rb' - - 'app/controllers/api/v0/variants_controller.rb' - - 'app/controllers/spree/admin/orders_controller.rb' - - 'app/controllers/spree/admin/payments_controller.rb' - 'app/controllers/spree/admin/taxons_controller.rb' - - 'app/controllers/spree/admin/users_controller.rb' - - 'app/controllers/spree/orders_controller.rb' - 'app/helpers/checkout_helper.rb' - - 'app/helpers/order_cycles_helper.rb' - - 'app/helpers/spree/admin/navigation_helper.rb' - 'app/models/enterprise_relationship.rb' - - 'app/models/product_import/entry_validator.rb' - 'app/models/spree/ability.rb' - - 'app/models/spree/address.rb' - 'app/models/spree/order/checkout.rb' - - 'app/models/spree/order_inventory.rb' - - 'app/models/spree/preferences/preferable.rb' - - 'app/models/spree/preferences/preferable_class_methods.rb' - - 'app/models/spree/product.rb' - - 'app/models/spree/return_authorization.rb' - - 'app/models/spree/tax_rate.rb' - - 'app/models/spree/variant.rb' - - 'app/models/spree/zone.rb' - - 'app/services/products_renderer.rb' - - 'app/services/sets/model_set.rb' - 'engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb' - - 'lib/discourse/single_sign_on.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/order_cycle_form_applicator.rb' - - 'lib/open_food_network/order_cycle_permissions.rb' - 'lib/open_food_network/payments_report.rb' - - 'lib/open_food_network/xero_invoices_report.rb' - - 'lib/spree/core/controller_helpers/order.rb' - - 'lib/spree/core/controller_helpers/respond_with.rb' - - 'lib/spree/localized_number.rb' - - 'spec/models/product_importer_spec.rb' # Offense count: 9 Naming/AccessorMethodName: @@ -972,12 +693,11 @@ Naming/HeredocDelimiterNaming: Exclude: - 'app/models/content_configuration.rb' -# Offense count: 6 +# Offense count: 5 # Configuration parameters: EnforcedStyleForLeadingUnderscores. # SupportedStylesForLeadingUnderscores: disallowed, required, optional Naming/MemoizedInstanceVariableName: Exclude: - - 'app/constraints/split_checkout_constraint.rb' - 'app/mailers/producer_mailer.rb' - 'app/models/concerns/balance.rb' - 'lib/open_food_network/address_finder.rb' @@ -1400,30 +1120,6 @@ Style/NestedModifier: - 'spec/system/admin/payments_stripe_spec.rb' - 'spec/system/admin/reports_spec.rb' -# Offense count: 31 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, IgnoredMethods. -# SupportedStyles: predicate, comparison -Style/NumericPredicate: - Exclude: - - 'app/controllers/spree/orders_controller.rb' - - 'app/helpers/checkout_helper.rb' - - 'app/helpers/shared_helper.rb' - - 'app/models/product_import/product_importer.rb' - - 'app/models/product_import/spreadsheet_entry.rb' - - 'app/models/spree/line_item.rb' - - 'app/models/spree/order.rb' - - 'app/models/spree/order_contents.rb' - - 'app/models/spree/order_inventory.rb' - - 'app/models/spree/user.rb' - - 'app/models/variant_override.rb' - - 'app/services/cart_service.rb' - - 'lib/open_food_network/customers_report.rb' - - 'lib/open_food_network/enterprise_fee_calculator.rb' - - 'lib/open_food_network/products_and_inventory_report_base.rb' - - 'lib/open_food_network/sales_tax_report.rb' - - 'lib/tasks/sample_data.rake' - # Offense count: 25 # Configuration parameters: AllowedMethods. # AllowedMethods: respond_to_missing? @@ -1467,7 +1163,7 @@ Style/RedundantReturn: Exclude: - 'app/controllers/spree/admin/shipping_methods_controller.rb' -# Offense count: 220 +# Offense count: 213 Style/Send: Exclude: - 'app/controllers/split_checkout_controller.rb' diff --git a/app/models/spree/gateway.rb b/app/models/spree/gateway.rb index b28350cf1b..b205cfae69 100644 --- a/app/models/spree/gateway.rb +++ b/app/models/spree/gateway.rb @@ -35,7 +35,7 @@ module Spree end def options - preferences.each_with_object({}){ |(key, value), memo| memo[key.to_sym] = value; } + preferences.transform_keys(&:to_sym) end def method_missing(method, *args) diff --git a/app/models/spree/preferences/preferable.rb b/app/models/spree/preferences/preferable.rb index b55b763ada..2c0f61b2e2 100644 --- a/app/models/spree/preferences/preferable.rb +++ b/app/models/spree/preferences/preferable.rb @@ -93,7 +93,7 @@ module Spree end def clear_preferences - preferences.keys.each { |pref| preference_store.delete preference_cache_key(pref) } + preferences.each_key { |pref| preference_store.delete preference_cache_key(pref) } end private @@ -121,7 +121,6 @@ module Spree when :integer value.to_i when :boolean - # rubocop:disable Style/NumericPredicate if value.is_a?(FalseClass) || value.nil? || value == 0 || @@ -131,7 +130,6 @@ module Spree else true end - # rubocop:enable Style/NumericPredicate else value end diff --git a/engines/catalog/spec/.rubocop.yml b/engines/catalog/spec/.rubocop.yml deleted file mode 100644 index 26e3e2c99a..0000000000 --- a/engines/catalog/spec/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -inherit_from: - - ../../../.rubocop_specs.yml diff --git a/engines/dfc_provider/spec/.rubocop.yml b/engines/dfc_provider/spec/.rubocop.yml deleted file mode 100644 index 26e3e2c99a..0000000000 --- a/engines/dfc_provider/spec/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -inherit_from: - - ../../../.rubocop_specs.yml diff --git a/engines/order_management/app/services/order_management/subscriptions/summarizer.rb b/engines/order_management/app/services/order_management/subscriptions/summarizer.rb index 32c925fc03..377ff12eae 100644 --- a/engines/order_management/app/services/order_management/subscriptions/summarizer.rb +++ b/engines/order_management/app/services/order_management/subscriptions/summarizer.rb @@ -41,14 +41,14 @@ module OrderManagement # This uses `deliver_now` since it's called from inside a job def send_placement_summary_emails - @summaries.values.each do |summary| + @summaries.each_value do |summary| SubscriptionMailer.placement_summary_email(summary).deliver_now end end # This uses `deliver_now` since it's called from inside a job def send_confirmation_summary_emails - @summaries.values.each do |summary| + @summaries.each_value do |summary| SubscriptionMailer.confirmation_summary_email(summary).deliver_now end end diff --git a/engines/order_management/spec/.rubocop.yml b/engines/order_management/spec/.rubocop.yml deleted file mode 100644 index 26e3e2c99a..0000000000 --- a/engines/order_management/spec/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -inherit_from: - - ../../../.rubocop_specs.yml diff --git a/engines/web/spec/.rubocop.yml b/engines/web/spec/.rubocop.yml deleted file mode 100644 index 26e3e2c99a..0000000000 --- a/engines/web/spec/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -inherit_from: - - ../../../.rubocop_specs.yml diff --git a/lib/open_food_network/i18n_inflections.rb b/lib/open_food_network/i18n_inflections.rb index 5919da4000..e8bb21001e 100644 --- a/lib/open_food_network/i18n_inflections.rb +++ b/lib/open_food_network/i18n_inflections.rb @@ -55,7 +55,7 @@ module OpenFoodNetwork def build_i18n_key_lookup lookup = {} I18n.t("inflections")&.each do |key, translations| - translations.values.each do |translation| + translations.each_value do |translation| lookup[translation.downcase] = key end end diff --git a/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report.rb b/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report.rb index f012c25cd9..f65ad3a16f 100644 --- a/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report.rb +++ b/lib/open_food_network/orders_and_fulfillments_report/customer_totals_report.rb @@ -17,7 +17,6 @@ module OpenFoodNetwork end # rubocop:disable Metrics/AbcSize - # rubocop:disable Metrics/MethodLength def header [I18n.t(:report_header_hub), I18n.t(:report_header_customer), I18n.t(:report_header_email), I18n.t(:report_header_phone), I18n.t(:report_header_producer), @@ -42,9 +41,8 @@ module OpenFoodNetwork I18n.t(:report_header_order_number), I18n.t(:report_header_date)] end - # rubocop:enable Metrics/AbcSize - # rubocop:enable Metrics/MethodLength + # rubocop:enable Metrics/AbcSize # rubocop:disable Metrics/AbcSize # rubocop:disable Metrics/MethodLength def rules diff --git a/lib/open_food_network/orders_and_fulfillments_report/default_report.rb b/lib/open_food_network/orders_and_fulfillments_report/default_report.rb index 9fd0efa6a0..3d10c9d7c4 100644 --- a/lib/open_food_network/orders_and_fulfillments_report/default_report.rb +++ b/lib/open_food_network/orders_and_fulfillments_report/default_report.rb @@ -22,7 +22,6 @@ module OpenFoodNetwork ] end - # rubocop:disable Metrics/MethodLength def rules [ { @@ -39,9 +38,7 @@ module OpenFoodNetwork } ] end - # rubocop:enable Metrics/MethodLength - # rubocop:disable Metrics/AbcSize def columns [ supplier_name, @@ -54,7 +51,6 @@ module OpenFoodNetwork proc { |_line_items| I18n.t(:report_header_incoming_transport) } ] end - # rubocop:enable Metrics/AbcSize def line_item_includes [] diff --git a/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report.rb b/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report.rb index d294a514c6..404fd2eeb3 100644 --- a/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report.rb +++ b/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_by_distributor_report.rb @@ -55,7 +55,6 @@ module OpenFoodNetwork # rubocop:enable Metrics/AbcSize # rubocop:enable Metrics/MethodLength - # rubocop:disable Metrics/AbcSize def columns [ supplier_name, @@ -68,7 +67,6 @@ module OpenFoodNetwork proc { |_line_items| I18n.t(:report_header_shipping_method) } ] end - # rubocop:enable Metrics/AbcSize def line_item_includes [{ order: :distributor, diff --git a/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb b/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb index 60c11d93e0..9fd5f7fcf9 100644 --- a/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb +++ b/lib/open_food_network/orders_and_fulfillments_report/supplier_totals_report.rb @@ -21,7 +21,6 @@ module OpenFoodNetwork I18n.t(:report_header_incoming_transport)] end - # rubocop:disable Metrics/MethodLength def rules [ { @@ -38,9 +37,7 @@ module OpenFoodNetwork } ] end - # rubocop:enable Metrics/MethodLength - # rubocop:disable Metrics/MethodLength def columns [ supplier_name, @@ -54,7 +51,6 @@ module OpenFoodNetwork proc { |_line_items| I18n.t(:report_header_incoming_transport) } ] end - # rubocop:enable Metrics/MethodLength def line_item_includes [{ variant: [{ option_values: :option_type }, { product: :supplier }] }] diff --git a/lib/open_food_network/permissions.rb b/lib/open_food_network/permissions.rb index a3ddb7f36e..47620b4d14 100644 --- a/lib/open_food_network/permissions.rb +++ b/lib/open_food_network/permissions.rb @@ -43,13 +43,12 @@ module OpenFoodNetwork hubs = variant_override_hubs # Permissions granted by create_variant_overrides relationship from producer to hub - permissions = Hash[ - EnterpriseRelationship. - permitting(hubs.select("enterprises.id")). - with_permission(:create_variant_overrides). - group_by(&:child_id). - map { |child_id, ers| [child_id, ers.map(&:parent_id)] } - ] + permissions = + EnterpriseRelationship. + permitting(hubs.select("enterprises.id")). + with_permission(:create_variant_overrides). + group_by(&:child_id). + transform_values { |ers| ers.map(&:parent_id) } # Allow a producer hub to override it's own products without explicit permission hubs.is_primary_producer.each do |hub| diff --git a/lib/open_food_network/xero_invoices_report.rb b/lib/open_food_network/xero_invoices_report.rb index efbb43bb97..a874bd6047 100644 --- a/lib/open_food_network/xero_invoices_report.rb +++ b/lib/open_food_network/xero_invoices_report.rb @@ -143,9 +143,7 @@ module OpenFoodNetwork end def row(order, sku, description, quantity, amount, invoice_number, tax_type, opts = {}) - # rubocop:disable Style/NumericPredicate return nil if amount == 0 - # rubocop:enable Style/NumericPredicate [order.bill_address&.full_name, order.email, diff --git a/spec/.rubocop.yml b/spec/.rubocop.yml deleted file mode 100644 index 5d20d5e3d1..0000000000 --- a/spec/.rubocop.yml +++ /dev/null @@ -1,2 +0,0 @@ -inherit_from: - - ../.rubocop_specs.yml