diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml new file mode 100644 index 00000000..b525ca8c --- /dev/null +++ b/.github/workflows/rubocop.yml @@ -0,0 +1,17 @@ +name: RuboCop + +on: [push, pull_request] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout source code + uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + - name: Run RuboCop + run: bundle exec rubocop --format github --parallel diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 00000000..42be2b6c --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,12 @@ +inherit_from: .rubocop_todo.yml + +require: + - rubocop-rails + - rubocop-rspec + +AllCops: + NewCops: enable + +Gemspec/OrderedDependencies: + Exclude: + - 'plugins/*/*.gemspec' diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 00000000..c85842af --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,2443 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2021-03-01 12:00:00 UTC using RuboCop version 1.11.0. +# 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 +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 28 +# Cop supports --auto-correct. +# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. +# Include: **/*.gemfile, **/Gemfile, **/gems.rb +Bundler/OrderedGems: + Exclude: + - 'Gemfile' + +# Offense count: 9 +# Configuration parameters: Include. +# Include: **/*.gemspec +Gemspec/RequiredRubyVersion: + Exclude: + - 'plugins/current_orders/foodsoft_current_orders.gemspec' + - 'plugins/discourse/foodsoft_discourse.gemspec' + - 'plugins/documents/foodsoft_documents.gemspec' + - 'plugins/links/foodsoft_links.gemspec' + - 'plugins/messages/foodsoft_messages.gemspec' + - 'plugins/polls/foodsoft_polls.gemspec' + - 'plugins/printer/foodsoft_printer.gemspec' + - 'plugins/uservoice/foodsoft_uservoice.gemspec' + - 'plugins/wiki/foodsoft_wiki.gemspec' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: outdent, indent +Layout/AccessModifierIndentation: + Exclude: + - 'app/controllers/finance/financial_links_controller.rb' + - 'app/models/invite.rb' + - 'db/migrate/20130622095040_move_weekly_tasks.rb' + +# Offense count: 13 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_argument, with_fixed_indentation +Layout/ArgumentAlignment: + Exclude: + - 'app/controllers/finance/balancing_controller.rb' + - 'app/controllers/foodcoop/workgroups_controller.rb' + - 'app/helpers/deliveries_helper.rb' + - 'app/helpers/stockit_helper.rb' + - 'db/migrate/20140102170431_add_result_computed_to_group_order_articles.rb' + - 'plugins/discourse/app/controllers/discourse_login_controller.rb' + - 'plugins/discourse/app/controllers/discourse_sso_controller.rb' + - 'plugins/messages/lib/foodsoft_messages/user_link.rb' + - 'plugins/polls/app/controllers/polls_controller.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_element, with_fixed_indentation +Layout/ArrayAlignment: + Exclude: + - 'lib/render_pdf.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleAlignWith. +# SupportedStylesAlignWith: either, start_of_block, start_of_line +Layout/BlockAlignment: + Exclude: + - 'db/migrate/008_create_orders.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + +# Offense count: 86 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. +# SupportedStyles: case, end +Layout/CaseIndentation: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +Layout/ClosingParenthesisIndentation: + Exclude: + - 'app/helpers/stockit_helper.rb' + - 'app/models/group_order_article.rb' + - 'app/models/shared_article.rb' + - 'db/seeds/minimal.seeds.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +Layout/CommentIndentation: + Exclude: + - 'app/controllers/concerns/auth_api.rb' + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/documents/order_fax.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + +# Offense count: 51 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: leading, trailing +Layout/DotPosition: + Exclude: + - 'app/controllers/api/v1/user/group_order_articles_controller.rb' + - 'app/controllers/stockit_controller.rb' + - 'app/documents/order_fax.rb' + - 'app/models/order.rb' + - 'app/models/stock_article.rb' + - 'app/models/task.rb' + - 'lib/order_pdf.rb' + - 'plugins/current_orders/app/controllers/current_orders/group_orders_controller.rb' + - 'plugins/current_orders/app/controllers/current_orders/ordergroups_controller.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_articles.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Layout/ElseAlignment: + Exclude: + - 'app/helpers/group_orders_helper.rb' + +# Offense count: 70 +# Cop supports --auto-correct. +Layout/EmptyLineAfterGuardClause: + Enabled: false + +# Offense count: 38 +# Cop supports --auto-correct. +Layout/EmptyLineAfterMagicComment: + Enabled: false + +# Offense count: 15 +# Cop supports --auto-correct. +# Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, AllowAdjacentOneLineDefs, NumberOfEmptyLines. +Layout/EmptyLineBetweenDefs: + Exclude: + - 'app/helpers/finance/invoices_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/group_order.rb' + - 'app/models/ordergroup.rb' + - 'app/models/task.rb' + - 'db/migrate/20181201000400_create_supplier_categories.rb' + - 'db/migrate/20181204000000_clear_invalid_invoices_from_orders.rb' + - 'db/migrate/20181204070000_create_stock_events.rb' + - 'lib/api/errors.rb' + - 'lib/foodsoft/expansion_variables.rb' + - 'lib/token_verifier.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + - 'spec/support/shared_database.rb' + +# Offense count: 55 +# Cop supports --auto-correct. +Layout/EmptyLines: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: around, only_before +Layout/EmptyLinesAroundAccessModifier: + Exclude: + - 'db/migrate/20130622095040_move_weekly_tasks.rb' + +# Offense count: 85 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Enabled: false + +# Offense count: 147 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only +Layout/EmptyLinesAroundClassBody: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +Layout/EmptyLinesAroundExceptionHandlingKeywords: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/finance/balancing_controller.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Layout/EmptyLinesAroundMethodBody: + Exclude: + - 'app/helpers/application_helper.rb' + - 'db/migrate/002_create_groups.rb' + +# Offense count: 37 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines +Layout/EmptyLinesAroundModuleBody: + Enabled: false + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleAlignWith, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/concerns/auth.rb' + - 'app/controllers/concerns/send_order_pdf.rb' + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/controllers/home_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/group_orders_helper.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 57 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses +Layout/FirstArgumentIndentation: + Exclude: + - 'app/models/group_order_article.rb' + - 'app/models/shared_article.rb' + - 'db/seeds/minimal.seeds.rb' + - 'plugins/current_orders/app/controllers/current_orders/articles_controller.rb' + - 'plugins/current_orders/app/controllers/current_orders/ordergroups_controller.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_brackets +Layout/FirstArrayElementIndentation: + Exclude: + - 'db/seeds/small.en.seeds.rb' + - 'db/seeds/small.nl.seeds.rb' + - 'lib/financial_transactions_csv.rb' + - 'lib/order_csv.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_braces +Layout/FirstHashElementIndentation: + Exclude: + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/group_order.rb' + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'lib/bank_account_information_importer.rb' + +# Offense count: 83 +# Cop supports --auto-correct. +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Enabled: false + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: normal, indented_internal_methods +Layout/IndentationConsistency: + Exclude: + - 'db/migrate/003_create_suppliers.rb' + - 'db/migrate/007_create_article_prices.rb' + - 'db/migrate/008_create_orders.rb' + - 'db/migrate/010_user_password_reset.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IndentationWidth, EnforcedStyle. +# SupportedStyles: spaces, tabs +Layout/IndentationStyle: + Exclude: + - 'db/migrate/010_user_password_reset.rb' + +# Offense count: 12 +# Cop supports --auto-correct. +# Configuration parameters: Width, IgnoredPatterns. +Layout/IndentationWidth: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/models/user.rb' + - 'db/migrate/003_create_suppliers.rb' + - 'db/migrate/007_create_article_prices.rb' + - 'db/migrate/008_create_orders.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'lib/tasks/multicoops.rake' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/spec_helper.rb' + +# Offense count: 39 +# Cop supports --auto-correct. +# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment. +Layout/LeadingCommentSpace: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +Layout/LeadingEmptyLines: + Exclude: + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'db/seeds/seed_helper.rb' + - 'lib/order_txt.rb' + - 'spec/support/integration.rb' + - 'spec/support/session_helper.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineMethodCallBraceLayout: + Exclude: + - 'app/helpers/stockit_helper.rb' + +# Offense count: 42 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: aligned, indented, indented_relative_to_receiver +Layout/MultilineMethodCallIndentation: + Exclude: + - 'app/controllers/stockit_controller.rb' + - 'app/models/order.rb' + - 'app/models/ordergroup.rb' + - 'app/models/stock_article.rb' + - 'app/models/task.rb' + - 'lib/foodsoft/expansion_variables.rb' + - 'lib/order_pdf.rb' + - 'plugins/current_orders/app/controllers/current_orders/group_orders_controller.rb' + - 'plugins/current_orders/app/controllers/current_orders/ordergroups_controller.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: aligned, indented +Layout/MultilineOperationIndentation: + Exclude: + - 'app/helpers/orders_helper.rb' + - 'app/inputs/date_picker_time_input.rb' + - 'app/models/ordergroup.rb' + - 'app/models/task.rb' + - 'lib/apple_bar.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Layout/RescueEnsureAlignment: + Exclude: + - 'app/controllers/suppliers_controller.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +Layout/SpaceAfterColon: + Exclude: + - 'app/controllers/styles_controller.rb' + - 'spec/integration/articles_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/order_spec.rb' + - 'spec/integration/receive_spec.rb' + - 'spec/integration/supplier_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/models/ordergroup_spec.rb' + +# Offense count: 110 +# Cop supports --auto-correct. +Layout/SpaceAfterComma: + Enabled: false + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleInsidePipes. +# SupportedStylesInsidePipes: space, no_space +Layout/SpaceAroundBlockParameters: + Exclude: + - 'app/models/group_order_article.rb' + - 'db/migrate/008_create_orders.rb' + +# Offense count: 50 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceAroundEqualsInParameterDefault: + Enabled: false + +# Offense count: 109 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator. +# SupportedStylesForExponentOperator: space, no_space +Layout/SpaceAroundOperators: + Enabled: false + +# Offense count: 73 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +Layout/SpaceBeforeComma: + Exclude: + - 'db/migrate/016_add_shared_lists_connection.rb' + - 'lib/render_pdf.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Layout/SpaceBeforeComment: + Exclude: + - 'plugins/wiki/lib/foodsoft_wiki/wiki_parser.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment. +Layout/SpaceBeforeFirstArg: + Exclude: + - 'app/controllers/application_controller.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: require_no_space, require_space +Layout/SpaceInLambdaLiteral: + Exclude: + - 'plugins/messages/app/models/message.rb' + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'app/helpers/orders_helper.rb' + - 'config/application.rb' + - 'config/environments/production.rb' + - 'db/migrate/20130718183100_create_settings.rb' + +# Offense count: 148 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Enabled: false + +# Offense count: 374 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceInsideParens: + Exclude: + - 'app/helpers/group_orders_helper.rb' + - 'db/migrate/006_create_articles.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + +# Offense count: 14 +# Cop supports --auto-correct. +Layout/SpaceInsidePercentLiteralDelimiters: + Exclude: + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideReferenceBrackets: + Exclude: + - 'lib/bank_account_information_importer.rb' + - 'lib/foodsoft_config.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingEmptyLines: + Exclude: + - 'app/models/ordergroup.rb' + - 'config/initializers/bullet.rb' + - 'config/initializers/new_rails_defaults.rb' + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'lib/apple_bar.rb' + - 'lib/tasks/foodsoft_setup.rake' + - 'spec/support/faker.rb' + +# Offense count: 111 +# Cop supports --auto-correct. +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Enabled: false + +# Offense count: 8 +Lint/AmbiguousBlockAssociation: + Exclude: + - 'lib/foodsoft/expansion_variables.rb' + - 'spec/api/v1/user/financial_transactions_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/models/article_spec.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +Lint/AmbiguousOperator: + Exclude: + - 'app/mailers/mailer.rb' + - 'spec/models/order_article_spec.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Lint/AmbiguousRegexpLiteral: + Exclude: + - 'app/models/article_category.rb' + - 'lib/foodsoft/expansion_variables.rb' + - 'lib/foodsoft_config.rb' + +# Offense count: 40 +# Configuration parameters: AllowSafeAssignment. +Lint/AssignmentInCondition: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +Lint/BigDecimalNew: + Exclude: + - 'app/models/group_order.rb' + - 'config/initializers/extensions.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/BooleanSymbol: + Exclude: + - 'app/models/delivery.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Lint/DeprecatedClassMethods: + Exclude: + - 'config/initializers/secret_token.rb' + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 3 +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +Lint/DuplicateBranch: + Exclude: + - 'app/controllers/concerns/auth_api.rb' + - 'app/controllers/orders_controller.rb' + +# Offense count: 3 +Lint/DuplicateMethods: + Exclude: + - 'app/models/invoice.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 2 +# Configuration parameters: AllowComments, AllowEmptyLambdas. +Lint/EmptyBlock: + Exclude: + - 'spec/factories/group_order_article.rb' + - 'spec/factories/group_order_article_quantity.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/EnsureReturn: + Exclude: + - 'app/controllers/finance/bank_accounts_controller.rb' + +# Offense count: 2 +Lint/IneffectiveAccessModifier: + Exclude: + - 'lib/foodsoft_mail_receiver.rb' + - 'lib/token_verifier.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/InterpolationCheck: + Exclude: + - 'db/migrate/007_create_article_prices.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/Loop: + Exclude: + - 'app/models/concerns/mark_as_deleted_with_name.rb' + +# Offense count: 2 +Lint/MixedRegexpCaptureTypes: + Exclude: + - 'lib/bank_transaction_reference.rb' + - 'lib/foodsoft_mail_receiver.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/NonDeterministicRequireOrder: + Exclude: + - 'spec/spec_helper.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Lint/ParenthesesAsGroupedExpression: + Exclude: + - 'spec/integration/articles_spec.rb' + - 'spec/lib/token_verifier_spec.rb' + - 'spec/models/order_article_spec.rb' + +# Offense count: 2 +Lint/ReturnInVoidContext: + Exclude: + - 'lib/foodsoft_config.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +Lint/ScriptPermission: + Exclude: + - 'Rakefile' + - 'plugins/discourse/Rakefile' + - 'plugins/documents/Rakefile' + - 'plugins/links/Rakefile' + - 'plugins/messages/Rakefile' + - 'plugins/polls/Rakefile' + - 'plugins/printer/Rakefile' + - 'plugins/wiki/Rakefile' + +# Offense count: 7 +# Cop supports --auto-correct. +Lint/SendWithMixinArgument: + Exclude: + - 'config/initializers/doorkeeper.rb' + - 'plugins/discourse/lib/foodsoft_discourse/redirect_to_login.rb' + - 'plugins/messages/lib/foodsoft_messages/user_link.rb' + - 'plugins/uservoice/lib/foodsoft_uservoice.rb' + - 'plugins/wiki/lib/foodsoft_wiki/mailer.rb' + +# Offense count: 1 +# Configuration parameters: IgnoreImplicitReferences. +Lint/ShadowedArgument: + Exclude: + - 'app/helpers/deliveries_helper.rb' + +# Offense count: 8 +Lint/ShadowingOuterLocalVariable: + Exclude: + - 'app/documents/order_matrix.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/models/group_order.rb' + - 'app/models/group_order_article.rb' + - 'plugins/discourse/app/controllers/discourse_login_controller.rb' + - 'plugins/polls/app/controllers/polls_controller.rb' + - 'spec/integration/config_spec.rb' + +# Offense count: 2 +# Configuration parameters: AllowComments. +Lint/SuppressedException: + Exclude: + - 'lib/foodsoft_config.rb' + - 'lib/tasks/rspec.rake' + +# Offense count: 1 +# Configuration parameters: AllowKeywordBlockArguments. +Lint/UnderscorePrefixedVariableName: + Exclude: + - 'app/models/order_article.rb' + +# Offense count: 16 +# Cop supports --auto-correct. +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. +Lint/UnusedBlockArgument: + Exclude: + - 'app/models/article.rb' + - 'app/models/group_order.rb' + - 'config/initializers/exception_notification.rb' + - 'plugins/printer/lib/foodsoft_printer/engine.rb' + - 'plugins/uservoice/lib/foodsoft_uservoice.rb' + - 'plugins/wiki/lib/foodsoft_wiki/wiki_parser.rb' + - 'spec/factories/supplier.rb' + - 'spec/factories/user.rb' + - 'spec/integration/config_spec.rb' + - 'spec/models/article_spec.rb' + +# Offense count: 23 +# Cop supports --auto-correct. +# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. +Lint/UnusedMethodArgument: + Exclude: + - 'app/controllers/api/v1/base_controller.rb' + - 'app/controllers/concerns/foodcoop_scope.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/article.rb' + - 'app/models/article_category.rb' + - 'app/models/financial_transaction.rb' + - 'app/models/group_order.rb' + - 'app/models/group_order_article.rb' + - 'app/models/order.rb' + - 'app/models/order_article.rb' + - 'app/models/supplier.rb' + - 'lib/foodsoft_mail_receiver.rb' + - 'lib/order_txt.rb' + - 'lib/render_pdf.rb' + - 'plugins/wiki/lib/foodsoft_wiki/mailer.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods. +Lint/UselessAccessModifier: + Exclude: + - 'lib/foodsoft_config.rb' + - 'lib/token_verifier.rb' + - 'plugins/messages/app/models/messagegroup.rb' + +# Offense count: 14 +Lint/UselessAssignment: + Exclude: + - 'app/controllers/admin/ordergroups_controller.rb' + - 'app/helpers/admin/configs_helper.rb' + - 'app/inputs/date_picker_time_input.rb' + - 'app/models/order_article.rb' + - 'db/migrate/003_create_suppliers.rb' + - 'db/migrate/004_create_article_meta.rb' + - 'db/migrate/005_create_financial_transactions.rb' + - 'db/migrate/008_create_orders.rb' + - 'db/migrate/20181201000100_create_message_recipients.foodsoft_messages.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_articles.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + - 'spec/lib/foodsoft_config_spec.rb' + +# Offense count: 158 +# Configuration parameters: IgnoredMethods, CountRepeatedAttributes. +Metrics/AbcSize: + Max: 143 + +# Offense count: 72 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods. +# IgnoredMethods: refine +Metrics/BlockLength: + Max: 374 + +# Offense count: 6 +# Configuration parameters: CountBlocks. +Metrics/BlockNesting: + Max: 5 + +# Offense count: 18 +# Configuration parameters: CountComments, CountAsOne. +Metrics/ClassLength: + Max: 288 + +# Offense count: 51 +# Configuration parameters: IgnoredMethods. +Metrics/CyclomaticComplexity: + Max: 22 + +# Offense count: 155 +# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods. +Metrics/MethodLength: + Max: 112 + +# Offense count: 4 +# Configuration parameters: CountComments, CountAsOne. +Metrics/ModuleLength: + Max: 190 + +# Offense count: 1 +# Configuration parameters: CountKeywordArgs, MaxOptionalParameters. +Metrics/ParameterLists: + Max: 6 + +# Offense count: 36 +# Configuration parameters: IgnoredMethods. +Metrics/PerceivedComplexity: + Max: 23 + +# Offense count: 6 +Naming/AccessorMethodName: + Exclude: + - 'app/controllers/admin/configs_controller.rb' + - 'lib/bank_account_connector.rb' + - 'lib/foodsoft_config.rb' + - 'spec/integration/config_spec.rb' + +# Offense count: 1 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +Naming/BlockParameterName: + Exclude: + - 'db/migrate/008_create_orders.rb' + +# Offense count: 1 +# Configuration parameters: EnforcedStyleForLeadingUnderscores. +# SupportedStylesForLeadingUnderscores: disallowed, required, optional +Naming/MemoizedInstanceVariableName: + Exclude: + - 'plugins/messages/app/models/message.rb' + +# Offense count: 19 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to +Naming/MethodParameterName: + Exclude: + - 'app/controllers/api/v1/base_controller.rb' + - 'app/controllers/api/v1/user/group_order_articles_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/user.rb' + - 'lib/foodsoft_date_util.rb' + - 'lib/render_pdf.rb' + - 'spec/integration/config_spec.rb' + - 'spec/integration/receive_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/support/shared_database.rb' + +# Offense count: 11 +# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros. +# NamePrefix: is_, has_, have_ +# ForbiddenPrefixes: is_, has_, have_ +# AllowedMethods: is_a? +# MethodDefinitionMacros: define_method, define_singleton_method +Naming/PredicateName: + Exclude: + - 'app/models/financial_transaction_class.rb' + - 'app/models/financial_transaction_type.rb' + - 'app/models/order.rb' + - 'app/models/periodic_task_group.rb' + - 'app/models/supplier.rb' + - 'app/models/task.rb' + - 'app/models/user.rb' + - 'app/serializers/order_serializer.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 45 +# Cop supports --auto-correct. +# Configuration parameters: PreferredName. +Naming/RescuedExceptionsVariableName: + Enabled: false + +# Offense count: 22 +# Configuration parameters: EnforcedStyle, AllowedIdentifiers. +# SupportedStyles: snake_case, camelCase +Naming/VariableName: + Exclude: + - 'app/controllers/concerns/auth.rb' + - 'app/helpers/application_helper.rb' + - 'db/migrate/008_create_orders.rb' + - 'lib/bank_account_information_importer.rb' + +# Offense count: 23 +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339 +Naming/VariableNumber: + Exclude: + - 'app/documents/order_matrix.rb' + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + +# Offense count: 4 +RSpec/AnyInstance: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + +# Offense count: 2 +RSpec/BeforeAfterAll: + Exclude: + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnabledMethods. +RSpec/Capybara/FeatureMethods: + Exclude: + - 'spec/integration/articles_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/config_spec.rb' + - 'spec/integration/login_spec.rb' + - 'spec/integration/order_spec.rb' + - 'spec/integration/product_distribution_example_spec.rb' + - 'spec/integration/receive_spec.rb' + - 'spec/integration/session_spec.rb' + - 'spec/integration/supplier_spec.rb' + +# Offense count: 27 +# Configuration parameters: Prefixes. +# Prefixes: when, with, without +RSpec/ContextWording: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/models/supplier_spec.rb' + +# Offense count: 1 +# Configuration parameters: IgnoredMetadata. +RSpec/DescribeClass: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + +# Offense count: 101 +# Cop supports --auto-correct. +# Configuration parameters: SkipBlocks, EnforcedStyle. +# SupportedStyles: described_class, explicit +RSpec/DescribedClass: + Exclude: + - 'spec/lib/bank_transaction_reference_spec.rb' + - 'spec/lib/foodsoft_config_spec.rb' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + - 'spec/lib/token_verifier_spec.rb' + - 'spec/models/group_order_article_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/models/order_spec.rb' + - 'spec/models/ordergroup_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: AllowConsecutiveOneLiners. +RSpec/EmptyLineAfterExample: + Exclude: + - 'spec/integration/session_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterExampleGroup: + Exclude: + - 'spec/models/order_article_spec.rb' + +# Offense count: 30 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterFinalLet: + Exclude: + - 'spec/api/v1/order_articles_spec.rb' + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/financial_transactions_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/integration/articles_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/login_spec.rb' + - 'spec/integration/supplier_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/models/order_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/support/api_helper.rb' + +# Offense count: 17 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterHook: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/financial_transactions_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/login_spec.rb' + - 'spec/models/order_article_spec.rb' + - 'spec/support/api_oauth.rb' + +# Offense count: 59 +# Configuration parameters: Max. +RSpec/ExampleLength: + Enabled: false + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: CustomTransform, IgnoredWords. +RSpec/ExampleWording: + Exclude: + - 'spec/models/order_spec.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: spec/factories.rb, spec/factories/**/*.rb, features/support/factories/**/*.rb +RSpec/FactoryBot/FactoryClassName: + Exclude: + - 'spec/factories/article.rb' + - 'spec/factories/doorkeeper.rb' + - 'spec/factories/supplier.rb' + +# Offense count: 7 +# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly. +# Include: **/*_spec*rb*, **/spec/**/* +RSpec/FilePath: + Exclude: + - 'spec/api/v1/order_articles_spec.rb' + - 'spec/api/v1/user/financial_transactions_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + - 'spec/integration/articles_spec.rb' + - 'spec/integration/login_spec.rb' + - 'spec/lib/bank_account_information_importer_spec.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Exclude: + - 'spec/spec_helper.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +RSpec/HooksBeforeExamples: + Exclude: + - 'spec/integration/balancing_spec.rb' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: single_line_only, single_statement_only, disallow +RSpec/ImplicitSubject: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + +# Offense count: 6 +# Configuration parameters: AssignmentOnly. +RSpec/InstanceVariable: + Exclude: + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 2 +RSpec/IteratedExpectation: + Exclude: + - 'spec/models/order_spec.rb' + - 'spec/models/supplier_spec.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +RSpec/LetBeforeExamples: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + +# Offense count: 13 +RSpec/LetSetup: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + - 'spec/models/bank_transaction_spec.rb' + - 'spec/models/group_order_article_spec.rb' + - 'spec/models/supplier_spec.rb' + +# Offense count: 3 +RSpec/MissingExampleGroupArgument: + Exclude: + - 'spec/models/group_order_article_spec.rb' + - 'spec/models/group_order_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 87 +RSpec/MultipleExpectations: + Max: 22 + +# Offense count: 80 +# Configuration parameters: AllowSubject. +RSpec/MultipleMemoizedHelpers: + Max: 17 + +# Offense count: 29 +RSpec/NestedGroups: + Max: 6 + +# Offense count: 32 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: not_to, to_not +RSpec/NotToNot: + Exclude: + - 'spec/api/v1/user/financial_transactions_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/login_spec.rb' + - 'spec/integration/order_spec.rb' + - 'spec/integration/receive_spec.rb' + - 'spec/integration/session_spec.rb' + - 'spec/lib/token_verifier_spec.rb' + - 'spec/models/article_spec.rb' + - 'spec/models/order_spec.rb' + - 'spec/models/supplier_spec.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers. +# SupportedStyles: inflected, explicit +RSpec/PredicateMatcher: + Exclude: + - 'spec/models/article_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 6 +RSpec/RepeatedDescription: + Exclude: + - 'spec/lib/bank_account_information_importer_spec.rb' + - 'spec/lib/bank_transaction_reference_spec.rb' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 4 +RSpec/RepeatedExample: + Exclude: + - 'spec/lib/bank_transaction_reference_spec.rb' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +RSpec/ScatteredLet: + Exclude: + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + +# Offense count: 7 +RSpec/ScatteredSetup: + Exclude: + - 'spec/api/v1/user/ordergroup_spec.rb' + - 'spec/integration/balancing_spec.rb' + - 'spec/integration/login_spec.rb' + +# Offense count: 1 +# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames. +RSpec/VerifiedDoubles: + Exclude: + - 'spec/support/api_oauth.rb' + +# Offense count: 45 +# Cop supports --auto-correct. +Rails/ActiveRecordAliases: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/ActiveRecordCallbacksOrder: + Exclude: + - 'app/models/financial_transaction_type.rb' + - 'app/models/order.rb' + - 'app/models/stock_change.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Rails/ApplicationMailer: + Exclude: + - 'app/mailers/mailer.rb' + +# Offense count: 20 +# Cop supports --auto-correct. +Rails/ApplicationRecord: + Exclude: + - 'app/models/supplier_category.rb' + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'db/migrate/20181201000100_create_message_recipients.foodsoft_messages.rb' + - 'db/migrate/20181201000301_change_ordergroup_default_in_financial_transaction.rb' + - 'db/migrate/20181201000302_change_stock_supplier_to_null_in_order.rb' + - 'db/migrate/20181201000305_ensure_article_for_article_price.rb' + - 'db/migrate/20181201000400_create_supplier_categories.rb' + - 'db/migrate/20181204000000_clear_invalid_invoices_from_orders.rb' + - 'db/migrate/20181204070000_create_stock_events.rb' + - 'plugins/messages/app/models/message_recipient.rb' + - 'plugins/polls/app/models/poll.rb' + - 'plugins/polls/app/models/poll_choice.rb' + - 'plugins/polls/app/models/poll_vote.rb' + - 'plugins/printer/app/models/printer_job.rb' + - 'plugins/printer/app/models/printer_job_update.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. +Rails/Blank: + Exclude: + - 'app/controllers/api/v1/base_controller.rb' + +# Offense count: 34 +# Cop supports --auto-correct. +Rails/ContentTag: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/helpers/tasks_helper.rb' + - 'app/inputs/delta_input.rb' + - 'plugins/current_orders/app/helpers/current_orders_helper.rb' + - 'plugins/messages/app/helpers/messages_helper.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 33 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/CreateTableWithTimestamps: + Enabled: false + +# Offense count: 6 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, flexible +Rails/Date: + Exclude: + - 'app/controllers/deliveries_controller.rb' + - 'app/documents/order_fax.rb' + - 'app/models/periodic_task_group.rb' + - 'lib/foodsoft_date_util.rb' + - 'spec/integration/order_spec.rb' + - 'spec/models/order_spec.rb' + +# Offense count: 67 +# Cop supports --auto-correct. +# Configuration parameters: Whitelist, AllowedMethods, AllowedReceivers. +# Whitelist: find_by_sql +# AllowedMethods: find_by_sql +# AllowedReceivers: Gem::Specification +Rails/DynamicFindBy: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/EnumHash: + Exclude: + - 'app/models/order.rb' + +# Offense count: 9 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: slashes, arguments +Rails/FilePath: + Exclude: + - 'config/application.rb' + - 'config/initializers/secret_token.rb' + - 'lib/order_txt.rb' + - 'lib/render_csv.rb' + - 'lib/render_pdf.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + - 'spec/api/v1/swagger_spec.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/FindBy: + Exclude: + - 'app/models/order.rb' + - 'app/models/supplier.rb' + - 'app/models/user.rb' + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: Include, IgnoredMethods. +# Include: app/models/**/*.rb +# IgnoredMethods: order, limit, select, lock +Rails/FindEach: + Exclude: + - 'app/models/bank_account.rb' + - 'app/models/order.rb' + - 'app/models/ordergroup.rb' + - 'app/models/periodic_task_group.rb' + - 'app/models/task.rb' + +# Offense count: 20 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasManyOrHasOneDependent: + Exclude: + - 'app/models/article.rb' + - 'app/models/article_category.rb' + - 'app/models/article_price.rb' + - 'app/models/financial_link.rb' + - 'app/models/financial_transaction.rb' + - 'app/models/group_order.rb' + - 'app/models/order.rb' + - 'app/models/ordergroup.rb' + - 'app/models/shared_supplier.rb' + - 'app/models/stock_article.rb' + - 'app/models/supplier.rb' + - 'app/models/supplier_category.rb' + - 'app/models/user.rb' + - 'app/models/workgroup.rb' + +# Offense count: 14 +# Configuration parameters: Include. +# Include: app/helpers/**/*.rb +Rails/HelperInstanceVariable: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/orders_helper.rb' + +# Offense count: 14 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: numeric, symbolic +Rails/HttpStatus: + Exclude: + - 'app/controllers/admin/bank_accounts_controller.rb' + - 'app/controllers/admin/financial_transaction_classes_controller.rb' + - 'app/controllers/admin/financial_transaction_types_controller.rb' + - 'app/controllers/api/v1/base_controller.rb' + - 'app/controllers/styles_controller.rb' + - 'plugins/links/app/controllers/links_controller.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Rails/IndexBy: + Exclude: + - 'app/models/order.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + +# Offense count: 23 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Exclude: + - 'app/models/article.rb' + - 'app/models/bank_transaction.rb' + - 'app/models/financial_transaction.rb' + - 'app/models/group_order.rb' + - 'app/models/invoice.rb' + - 'app/models/mail_delivery_status.rb' + - 'app/models/order.rb' + - 'app/models/shared_article.rb' + - 'app/models/shared_supplier.rb' + - 'app/models/stock_change.rb' + - 'app/models/supplier.rb' + - 'app/models/task.rb' + - 'app/models/user.rb' + - 'app/models/workgroup.rb' + +# Offense count: 2 +# Configuration parameters: Include. +# Include: app/controllers/**/*.rb +Rails/LexicallyScopedActionFilter: + Exclude: + - 'app/controllers/group_orders_controller.rb' + - 'app/controllers/suppliers_controller.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Rails/LinkToBlank: + Exclude: + - 'app/helpers/application_helper.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Rails/NegateInclude: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/supplier.rb' + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 34 +# Configuration parameters: Include. +# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb +Rails/Output: + Exclude: + - 'config/initializers/resque.rb' + - 'config/initializers/secret_token.rb' + - 'db/migrate/001_create_users.rb' + - 'db/migrate/002_create_groups.rb' + - 'db/migrate/003_create_suppliers.rb' + - 'db/migrate/004_create_article_meta.rb' + - 'db/migrate/005_create_financial_transactions.rb' + - 'db/migrate/006_create_articles.rb' + - 'db/migrate/007_create_article_prices.rb' + - 'db/migrate/008_create_orders.rb' + - 'db/migrate/021_remove_table_article_prices.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'db/migrate/20130622095040_move_weekly_tasks.rb' + +# Offense count: 28 +Rails/OutputSafety: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/deliveries_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/helpers/tasks_helper.rb' + - 'plugins/messages/app/helpers/messages_helper.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Rails/Pluck: + Exclude: + - 'lib/ordergroups_csv.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Rails/PluralizationGrammar: + Exclude: + - 'app/controllers/application_controller.rb' + - 'lib/tasks/foodsoft.rake' + +# Offense count: 1 +# Cop supports --auto-correct. +Rails/Presence: + Exclude: + - 'db/migrate/021_remove_table_article_prices.rb' + +# Offense count: 36 +# Cop supports --auto-correct. +# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank. +Rails/Present: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: **/Rakefile, **/*.rake +Rails/RakeEnvironment: + Exclude: + - 'lib/tasks/foodsoft_setup.rake' + - 'lib/tasks/resque.rake' + +# Offense count: 3 +# Cop supports --auto-correct. +Rails/RedundantForeignKey: + Exclude: + - 'app/models/financial_transaction.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: ConvertTry. +Rails/SafeNavigation: + Exclude: + - 'app/models/group_order_article.rb' + +# Offense count: 63 +# Configuration parameters: ForbiddenMethods, AllowedMethods. +# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all +Rails/SkipsModelValidations: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +Rails/SquishedSQLHeredocs: + Exclude: + - 'app/controllers/finance/financial_links_controller.rb' + - 'app/models/financial_link.rb' + - 'db/migrate/20181201000305_ensure_article_for_article_price.rb' + +# Offense count: 34 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, flexible +Rails/TimeZone: + Enabled: false + +# Offense count: 3 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/UniqueValidationWithoutIndex: + Exclude: + - 'app/models/bank_account.rb' + - 'app/models/supplier_category.rb' + +# Offense count: 2 +# Configuration parameters: Environments. +# Environments: development, test, production +Rails/UnknownEnv: + Exclude: + - 'config/initializers/gaffe.rb' + - 'config/initializers/secret_token.rb' + +# Offense count: 64 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/Validation: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +Rails/WhereEquals: + Exclude: + - 'app/controllers/finance/invoices_controller.rb' + - 'app/models/financial_transaction.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: exists, where +Rails/WhereExists: + Exclude: + - 'app/models/concerns/mark_as_deleted_with_name.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Rails/WhereNot: + Exclude: + - 'db/migrate/20140921104907_remove_stale_memberships.rb' + - 'db/migrate/20210205090257_introduce_received_state_in_orders.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Security/YAMLLoad: + Exclude: + - 'app/controllers/finance/bank_accounts_controller.rb' + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'db/migrate/20181201000100_create_message_recipients.foodsoft_messages.rb' + - 'lib/foodsoft_config.rb' + - 'spec/api/v1/swagger_spec.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: prefer_alias, prefer_alias_method +Style/Alias: + Exclude: + - 'config/initializers/session_store.rb' + - 'lib/foodsoft_config.rb' + - 'plugins/discourse/lib/foodsoft_discourse/redirect_to_login.rb' + - 'plugins/printer/lib/foodsoft_printer/order_printer_jobs.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, conditionals +Style/AndOr: + Exclude: + - 'config/initializers/extensions.rb' + - 'lib/apple_bar.rb' + - 'plugins/documents/app/controllers/documents_controller.rb' + - 'spec/support/coverage.rb' + +# Offense count: 2 +# Configuration parameters: AllowedChars. +# AllowedChars: © +Style/AsciiComments: + Exclude: + - 'app/helpers/orders_helper.rb' + - 'app/inputs/delta_input.rb' + +# Offense count: 19 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces +# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object +# FunctionalMethods: let, let!, subject, watch +# IgnoredMethods: lambda, proc, it +Style/BlockDelimiters: + Exclude: + - 'app/controllers/api/v1/user/ordergroup_controller.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/order.rb' + - 'db/migrate/008_create_orders.rb' + - 'lib/tasks/resque.rake' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/factories/user.rb' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + - 'spec/support/coverage.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowOnConstant. +Style/CaseEquality: + Exclude: + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 7 +# Cop supports --auto-correct. +Style/CaseLikeIf: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/models/order.rb' + - 'lib/foodsoft_date_util.rb' + - 'lib/render_pdf.rb' + - 'lib/tasks/foodsoft_setup.rake' + - 'plugins/uservoice/lib/foodsoft_uservoice.rb' + +# Offense count: 53 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: nested, compact +Style/ClassAndModuleChildren: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: is_a?, kind_of? +Style/ClassCheck: + Exclude: + - 'app/helpers/orders_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IgnoredMethods. +# IgnoredMethods: ==, equal?, eql? +Style/ClassEqualityComparison: + Exclude: + - 'spec/factories/supplier.rb' + +# Offense count: 3 +Style/ClassVars: + Exclude: + - 'lib/bank_account_connector.rb' + - 'lib/foodsoft/expansion_variables.rb' + - 'lib/foodsoft_mail_receiver.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Style/ColonMethodCall: + Exclude: + - 'app/models/supplier.rb' + - 'plugins/discourse/app/controllers/discourse_controller.rb' + - 'plugins/messages/app/mail_receivers/messages_mail_receiver.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowInnerBackticks. +# SupportedStyles: backticks, percent_x, mixed +Style/CommandLiteral: + Exclude: + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 10 +# Cop supports --auto-correct. +# Configuration parameters: Keywords. +# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE +Style/CommentAnnotation: + Exclude: + - 'app/controllers/admin/configs_controller.rb' + - 'app/inputs/delta_input.rb' + - 'app/models/order_article.rb' + - 'app/models/shared_supplier.rb' + - 'config/application.rb' + - 'spec/models/article_spec.rb' + - 'spec/models/order_spec.rb' + - 'spec/support/shared_database.rb' + +# Offense count: 12 +# Cop supports --auto-correct. +Style/CommentedKeyword: + Exclude: + - 'app/controllers/deliveries_controller.rb' + - 'app/controllers/finance/balancing_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/controllers/stock_takings_controller.rb' + - 'app/controllers/stockit_controller.rb' + - 'config/routes.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + +# Offense count: 13 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. +# SupportedStyles: assign_to_condition, assign_inside_condition +Style/ConditionalAssignment: + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/controllers/articles_controller.rb' + - 'app/controllers/concerns/locale.rb' + - 'app/controllers/finance/bank_transactions_controller.rb' + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/controllers/home_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'plugins/documents/app/controllers/documents_controller.rb' + - 'plugins/messages/app/mail_receivers/messages_mail_receiver.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/DefWithParentheses: + Exclude: + - 'app/models/user.rb' + +# Offense count: 306 +Style/Documentation: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: allowed_in_returns, forbidden +Style/DoubleNegation: + Exclude: + - 'app/controllers/tasks_controller.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty, nil, both +Style/EmptyElse: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/article.rb' + - 'app/models/order_article.rb' + - 'app/models/user.rb' + - 'lib/token_verifier.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/EmptyLiteral: + Exclude: + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 14 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: compact, expanded +Style/EmptyMethod: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/feedback_controller.rb' + - 'app/controllers/finance/invoices_controller.rb' + - 'app/controllers/home_controller.rb' + - 'app/controllers/login_controller.rb' + - 'app/mailers/mailer.rb' + - 'db/migrate/024_add_deposit_defaults.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'db/migrate/20090907120012_add_missing_indexes.rb' + - 'db/migrate/20130702113610_update_group_order_totals.rb' + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'db/migrate/20140318173000_delete_empty_group_order_articles.rb' + - 'lib/bank_account_connector.rb' + +# Offense count: 40 +# Cop supports --auto-correct. +Style/Encoding: + Enabled: false + +# Offense count: 21 +# Cop supports --auto-correct. +Style/ExpandPathArguments: + Enabled: false + +# Offense count: 7 +# Cop supports --auto-correct. +Style/ExplicitBlockArgument: + Exclude: + - 'app/documents/order_fax.rb' + - 'app/helpers/admin/configs_helper.rb' + - 'app/models/concerns/find_each_with_order.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_articles.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: left_coerce, right_coerce, single_coerce, fdiv +Style/FloatDivision: + Exclude: + - 'app/models/ordergroup.rb' + +# Offense count: 18 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: each, for +Style/For: + Exclude: + - 'app/controllers/admin/configs_controller.rb' + - 'app/models/delivery.rb' + - 'app/models/group_order.rb' + - 'app/models/order.rb' + - 'app/models/stock_taking.rb' + - 'app/models/supplier.rb' + - 'db/migrate/005_create_financial_transactions.rb' + - 'lib/tasks/foodsoft.rake' + - 'plugins/messages/app/mail_receivers/messages_mail_receiver.rb' + - 'plugins/wiki/app/views/pages/all.rss.builder' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: format, sprintf, percent +Style/FormatString: + Exclude: + - 'lib/order_txt.rb' + +# Offense count: 6 +# Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods. +# SupportedStyles: annotated, template, unannotated +Style/FormatStringToken: + EnforcedStyle: unannotated + +# Offense count: 482 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +Style/GlobalStdStream: + Exclude: + - 'config/environments/production.rb' + - 'lib/tasks/foodsoft.rake' + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 63 +# Configuration parameters: MinBodyLength. +Style/GuardClause: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: braces, no_braces +Style/HashAsLastArrayItem: + Exclude: + - 'app/models/order.rb' + +# Offense count: 7 +# Cop supports --auto-correct. +# Configuration parameters: AllowSplatArgument. +Style/HashConversion: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/models/article.rb' + - 'app/models/order.rb' + - 'lib/bank_account_information_importer.rb' + - 'lib/foodsoft_config.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + +# Offense count: 8 +# Configuration parameters: MinBranchesCount. +Style/HashLikeCase: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/finance/bank_transactions_controller.rb' + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/controllers/home_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/finance/balancing_helper.rb' + - 'plugins/documents/app/controllers/documents_controller.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 3900 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +Style/HashSyntax: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: AllowIfModifier. +Style/IfInsideElse: + Exclude: + - 'app/models/article.rb' + - 'app/models/task.rb' + - 'lib/apple_bar.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 59 +# Cop supports --auto-correct. +Style/IfUnlessModifier: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AllowedMethods. +# AllowedMethods: nonzero? +Style/IfWithBooleanLiteralBranches: + Exclude: + - 'app/models/order_article.rb' + - 'app/models/task.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/InfiniteLoop: + Exclude: + - 'lib/order_pdf.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/helpers/deliveries_helper.rb' + - 'spec/support/coverage.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: line_count_dependent, lambda, literal +Style/Lambda: + Exclude: + - 'app/models/financial_link.rb' + - 'lib/foodsoft_mail_receiver.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/LineEndConcatenation: + Exclude: + - 'db/migrate/20130702113610_update_group_order_totals.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_articles.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IgnoredMethods. +Style/MethodCallWithoutArgsParentheses: + Exclude: + - 'plugins/discourse/app/controllers/discourse_login_controller.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline +Style/MethodDefParentheses: + Exclude: + - 'app/controllers/concerns/send_order_pdf.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/finance/invoices_helper.rb' + - 'plugins/discourse/app/controllers/discourse_controller.rb' + +# Offense count: 1 +Style/MixinUsage: + Exclude: + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 2 +Style/MultilineBlockChain: + Exclude: + - 'app/helpers/group_orders_helper.rb' + - 'app/models/order.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/MultilineIfModifier: + Exclude: + - 'app/models/user.rb' + - 'plugins/current_orders/app/controllers/current_orders/ordergroups_controller.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/MultilineIfThen: + Exclude: + - 'app/controllers/finance/financial_links_controller.rb' + - 'lib/bank_account_information_importer.rb' + +# Offense count: 12 +# Cop supports --auto-correct. +Style/MultilineWhenThen: + Exclude: + - 'app/controllers/finance/balancing_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/finance/balancing_helper.rb' + - 'app/models/order.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/MultipleComparison: + Exclude: + - 'app/models/order.rb' + - 'app/models/order_article.rb' + - 'spec/models/article_spec.rb' + +# Offense count: 24 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: + Enabled: false + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: both, prefix, postfix +Style/NegatedIf: + Exclude: + - 'app/controllers/orders_controller.rb' + - 'app/helpers/articles_helper.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +Style/NegatedIfElseCondition: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/concerns/auth.rb' + - 'app/models/article.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: AllowedMethods. +# AllowedMethods: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with +Style/NestedParenthesizedCalls: + Exclude: + - 'app/models/user.rb' + - 'spec/models/order_article_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, MinBodyLength. +# SupportedStyles: skip_modifier_ifs, always +Style/Next: + Exclude: + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/orders_helper.rb' + - 'app/workers/user_notifier.rb' + - 'db/migrate/20130622095040_move_weekly_tasks.rb' + - 'lib/tasks/foodsoft.rake' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: predicate, comparison +Style/NilComparison: + Exclude: + - 'app/controllers/application_controller.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 10 +# Cop supports --auto-correct. +Style/Not: + Exclude: + - 'app/controllers/concerns/auth.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/deliveries_helper.rb' + - 'app/models/group_order_article.rb' + - 'app/models/order_article.rb' + - 'app/models/supplier.rb' + - 'app/models/task.rb' + - 'spec/support/coverage.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: Strict. +Style/NumericLiterals: + MinDigits: 7 + +# Offense count: 60 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IgnoredMethods. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Enabled: false + +# Offense count: 5 +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'app/helpers/application_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/order_article.rb' + - 'lib/tasks/foodsoft_setup.rake' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/OrAssignment: + Exclude: + - 'app/controllers/articles_controller.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +Style/ParallelAssignment: + Exclude: + - 'app/models/article.rb' + - 'app/models/group_order_article.rb' + - 'app/models/supplier.rb' + - 'app/models/user.rb' + - 'spec/models/group_order_article_spec.rb' + - 'spec/support/session_helper.rb' + +# Offense count: 12 +# Cop supports --auto-correct. +# Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions. +Style/ParenthesesAroundCondition: + Exclude: + - 'app/controllers/login_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/models/group_order_article.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + +# Offense count: 41 +# Cop supports --auto-correct. +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +Style/PerlBackrefs: + Exclude: + - 'lib/foodsoft/expansion_variables.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: short, verbose +Style/PreferredHashMethods: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'app/helpers/articles_helper.rb' + +# Offense count: 14 +# Cop supports --auto-correct. +Style/Proc: + Exclude: + - 'app/helpers/deliveries_helper.rb' + - 'app/models/user.rb' + - 'config/navigation.rb' + - 'plugins/current_orders/lib/foodsoft_current_orders/engine.rb' + - 'plugins/links/lib/foodsoft_links/engine.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowedCompactTypes. +# SupportedStyles: compact, exploded +Style/RaiseArgs: + Exclude: + - 'app/controllers/api/v1/base_controller.rb' + - 'app/controllers/concerns/auth_api.rb' + - 'app/controllers/concerns/foodcoop_scope.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/RandomWithOffset: + Exclude: + - 'db/migrate/007_create_article_prices.rb' + - 'db/migrate/008_create_orders.rb' + - 'db/seeds/seed_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: Methods. +Style/RedundantArgument: + Exclude: + - 'app/controllers/articles_controller.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +Style/RedundantBegin: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/models/order.rb' + - 'lib/foodsoft_mail_receiver.rb' + - 'lib/tasks/multicoops.rake' + - 'spec/lib/foodsoft_mail_receiver_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/RedundantConditional: + Exclude: + - 'app/models/task.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: SafeForConstants. +Style/RedundantFetchBlock: + Exclude: + - 'config/puma.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/RedundantFileExtensionInRequire: + Exclude: + - 'db/seeds/small.en.seeds.rb' + - 'db/seeds/small.nl.seeds.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/RedundantInterpolation: + Exclude: + - 'db/migrate/20130718183101_migrate_user_settings.rb' + - 'lib/order_pdf.rb' + - 'spec/i18n_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/RedundantRegexpCharacterClass: + Exclude: + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 7 +# Cop supports --auto-correct. +Style/RedundantRegexpEscape: + Exclude: + - 'lib/bank_transaction_reference.rb' + - 'lib/foodsoft_mail_receiver.rb' + - 'plugins/documents/app/controllers/documents_controller.rb' + - 'plugins/wiki/app/models/page.rb' + +# Offense count: 18 +# Cop supports --auto-correct. +# Configuration parameters: AllowMultipleReturnValues. +Style/RedundantReturn: + Exclude: + - 'app/controllers/concerns/auth_api.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/deliveries_helper.rb' + - 'app/helpers/group_orders_helper.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/article.rb' + - 'app/models/bank_transaction.rb' + - 'app/models/periodic_task_group.rb' + - 'app/models/supplier.rb' + - 'lib/bank_transaction_reference.rb' + - 'lib/foodsoft_config.rb' + +# Offense count: 85 +# Cop supports --auto-correct. +Style/RedundantSelf: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +Style/RedundantSort: + Exclude: + - 'app/models/article_category.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed +Style/RegexpLiteral: + Exclude: + - 'plugins/wiki/app/models/page.rb' + - 'spec/support/coverage.rb' + +# Offense count: 16 +# Cop supports --auto-correct. +Style/RescueModifier: + Exclude: + - 'app/controllers/invites_controller.rb' + - 'app/models/article.rb' + - 'app/models/order.rb' + - 'app/models/ordergroup.rb' + - 'config/application.rb' + - 'lib/apple_bar.rb' + - 'lib/date_time_attribute_validate.rb' + - 'lib/foodsoft_date_util.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 50 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Enabled: false + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'app/controllers/concerns/auth_api.rb' + - 'app/controllers/group_order_articles_controller.rb' + - 'app/models/article_category.rb' + - 'app/models/financial_transaction.rb' + - 'app/models/ordergroup.rb' + - 'app/models/user.rb' + - 'plugins/printer/app/controllers/printer_controller.rb' + - 'spec/factories/order.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/SelfAssignment: + Exclude: + - 'app/helpers/application_helper.rb' + +# Offense count: 14 +# Cop supports --auto-correct. +# Configuration parameters: AllowAsExpressionSeparator. +Style/Semicolon: + Exclude: + - 'app/controllers/finance/bank_transactions_controller.rb' + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'app/controllers/finance/invoices_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/group_orders_helper.rb' + - 'db/migrate/20090120184410_road_to_version_three.rb' + - 'spec/api/v1/swagger_spec.rb' + - 'spec/api/v1/user/group_order_articles_spec.rb' + - 'spec/api/v1/user/ordergroup_spec.rb' + - 'spec/models/order_article_spec.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/SlicingWithRange: + Exclude: + - 'app/helpers/admin/configs_helper.rb' + - 'config/initializers/session_store.rb' + - 'lib/order_pdf.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AllowModifier. +Style/SoleNestedConditional: + Exclude: + - 'app/controllers/articles_controller.rb' + - 'app/controllers/concerns/auth.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: . +# SupportedStyles: use_perl_names, use_english_names +Style/SpecialGlobalVars: + EnforcedStyle: use_perl_names + +# Offense count: 32 +# Cop supports --auto-correct. +Style/StringConcatenation: + Enabled: false + +# Offense count: 1796 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Enabled: false + +# Offense count: 79 +# Cop supports --auto-correct. +# Configuration parameters: MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + EnforcedStyle: brackets + +# Offense count: 19 +# Cop supports --auto-correct. +# Configuration parameters: AllowMethodsWithArguments, IgnoredMethods. +# IgnoredMethods: respond_to, define_method +Style/SymbolProc: + Exclude: + - 'app/controllers/pickups_controller.rb' + - 'app/helpers/orders_helper.rb' + - 'app/models/delivery.rb' + - 'app/models/financial_transaction_class.rb' + - 'app/models/financial_transaction_type.rb' + - 'app/models/group_order_article.rb' + - 'app/models/order.rb' + - 'app/models/order_article.rb' + - 'app/models/stock_article.rb' + - 'app/models/user.rb' + - 'db/migrate/20090731132547_add_stats_to_groups.rb' + - 'spec/factories/order.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowSafeAssignment. +# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex +Style/TernaryParentheses: + Exclude: + - 'app/models/order_article.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArrayLiteral: + Exclude: + - 'lib/articles_csv.rb' + - 'lib/invoices_csv.rb' + - 'lib/ordergroups_csv.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'app/controllers/finance/financial_transactions_controller.rb' + - 'config/initializers/exception_notification.rb' + - 'lib/bank_account_information_importer.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods. +# AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym +Style/TrivialAccessors: + Exclude: + - 'app/models/order.rb' + - 'lib/bank_account_connector.rb' + - 'plugins/messages/app/models/message.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Style/UnlessElse: + Exclude: + - 'app/controllers/home_controller.rb' + - 'app/controllers/orders_controller.rb' + - 'app/helpers/group_order_articles_helper.rb' + - 'plugins/current_orders/app/controllers/current_orders/articles_controller.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/WhileUntilModifier: + Exclude: + - 'app/models/periodic_task_group.rb' + +# Offense count: 11 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, MinSize, WordRegex. +# SupportedStyles: percent, brackets +Style/WordArray: + Exclude: + - 'app/documents/order_matrix.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/supplier.rb' + - 'db/migrate/006_create_articles.rb' + - 'lib/tasks/foodsoft_setup.rake' + - 'plugins/current_orders/app/controllers/current_orders/group_orders_controller.rb' + - 'plugins/wiki/app/controllers/pages_controller.rb' + - 'plugins/wiki/app/helpers/pages_helper.rb' + - 'spec/support/faker.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Style/ZeroLengthPredicate: + Exclude: + - 'app/models/group_order_article.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_articles.rb' + - 'plugins/current_orders/app/documents/multiple_orders_by_groups.rb' + +# Offense count: 436 +# Cop supports --auto-correct. +# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https +Layout/LineLength: + Max: 414 diff --git a/Gemfile b/Gemfile index b8aa6a4a..9a94aa69 100644 --- a/Gemfile +++ b/Gemfile @@ -90,6 +90,9 @@ group :development do end group :development, :test do + gem 'rubocop', require: false + gem 'rubocop-rails', require: false + gem 'rubocop-rspec', require: false gem 'ruby-prof', require: false # allow to use `debugger` https://github.com/conradirwin/pry-rescue diff --git a/Gemfile.lock b/Gemfile.lock index b1804f53..139320a3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -126,6 +126,7 @@ GEM capybara (~> 3.13, < 4) websocket-driver (>= 0.6.5) arel (9.0.0) + ast (2.4.2) attribute_normalizer (1.2.0) base32 (0.3.4) better_errors (2.9.1) @@ -313,6 +314,9 @@ GEM nokogiri (1.11.1) mini_portile2 (~> 2.5.0) racc (~> 1.4) + parallel (1.20.1) + parser (3.0.0.0) + ast (~> 2.4.1) pdf-core (0.9.0) polyglot (0.3.5) prawn (2.4.0) @@ -404,6 +408,7 @@ GEM redis-namespace (~> 1.6) sinatra (>= 0.9.2) vegas (~> 0.1.2) + rexml (3.2.4) roo (2.8.3) nokogiri (~> 1) rubyzip (>= 1.3.0, < 3.0.0) @@ -434,9 +439,28 @@ GEM rspec-rerun (1.1.0) rspec (~> 3.0) rspec-support (3.10.2) + rubocop (1.11.0) + parallel (~> 1.10) + parser (>= 3.0.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml + rubocop-ast (>= 1.2.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.4.1) + parser (>= 2.7.1.5) + rubocop-rails (2.9.1) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 0.90.0, < 2.0) + rubocop-rspec (2.2.0) + rubocop (~> 1.0) + rubocop-ast (>= 1.1.0) ruby-filemagic (0.7.2) ruby-ole (1.2.12.2) ruby-prof (1.4.3) + ruby-progressbar (1.11.0) ruby-units (2.3.2) ruby2_keywords (0.0.4) ruby_parser (3.15.1) @@ -515,6 +539,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.7) + unicode-display_width (2.0.0) uniform_notifier (1.13.2) vegas (0.1.11) rack (>= 1.0.0) @@ -605,6 +630,9 @@ DEPENDENCIES rspec-core rspec-rails rspec-rerun + rubocop + rubocop-rails + rubocop-rspec ruby-filemagic ruby-prof ruby-units