Merge pull request #8935 from mkllnk/clean-rubocop

Relax our style guide
This commit is contained in:
jibees
2022-02-28 15:16:46 +01:00
committed by GitHub
20 changed files with 234 additions and 537 deletions

View File

@@ -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:
#

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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'

View File

@@ -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)

View File

@@ -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

View File

@@ -1,2 +0,0 @@
inherit_from:
- ../../../.rubocop_specs.yml

View File

@@ -1,2 +0,0 @@
inherit_from:
- ../../../.rubocop_specs.yml

View File

@@ -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

View File

@@ -1,2 +0,0 @@
inherit_from:
- ../../../.rubocop_specs.yml

View File

@@ -1,2 +0,0 @@
inherit_from:
- ../../../.rubocop_specs.yml

View File

@@ -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

View File

@@ -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

View File

@@ -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
[]

View File

@@ -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,

View File

@@ -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 }] }]

View File

@@ -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|

View File

@@ -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,

View File

@@ -1,2 +0,0 @@
inherit_from:
- ../.rubocop_specs.yml