From 4341f34e1d550acc619a0efd1e7046d62a450b6c Mon Sep 17 00:00:00 2001 From: Eduardo Navarro Date: Thu, 21 Jun 2018 10:53:23 +0200 Subject: [PATCH] [ci] Split rubocop setup in rails and non-rails config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rubocop was not prepared to work with the previous set up and this was breaking some cops, specially the Rails one. Splitting the configuration up makes the setup simpler and better to maintain. Rubocop todo files were created with: * rails conf: rubocop --auto-gen-config --ignore-parent-exclusion * non-rails conf: rubocop --auto-gen-config Co-authored-by: Björn Geuken Co-authored-by: Ana María Martínez Gómez --- .rubocop.yml | 63 +- .rubocop_todo.yml | 1203 ++------------------------------ src/api/.rubocop.yml | 65 +- src/api/.rubocop_todo.yml | 1359 +++++++++++++++++++++++++++++++++++++ 4 files changed, 1478 insertions(+), 1212 deletions(-) create mode 100644 src/api/.rubocop_todo.yml diff --git a/.rubocop.yml b/.rubocop.yml index 0c913e36da1..13606a639d2 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,20 +1,13 @@ -require: rubocop-rspec - inherit_from: .rubocop_todo.yml AllCops: UseCache: true - CacheRootDirectory: src/api/tmp/rubocop_cache + CacheRootDirectory: tmp/rubocop_cache_root_dir MaxFilesInCache: 2000 Exclude: - - 'src/api/tmp/**/*' - - 'src/api/lib/templates/**/*' - - 'src/api/vendor/bundle/**/*' + - 'src/api/**/*' - 'docs/api/restility/**/*' - - 'src/api/test/fixtures/backend/**/*' - - 'src/api/files/*' - 'src/backend/**/*' - - 'src/api/db/data_schema.rb' # These files are RPM spec files - 'dist/obs-api-deps.spec' - 'dist/obs-server.spec' @@ -54,16 +47,6 @@ Style/CommandLiteral: Style/Documentation: Enabled: false -# We need to allow some variables related to rabbiMQ. -Style/GlobalVars: - AllowedVariables: ['$rabbitmq_conn', '$rabbitmq_exchange', '$rabbitmq_channel'] - -# Checks for chaining of a block after another block that spans multiple lines. -# We disabled this cop because of Rantly. -Style/MultilineBlockChain: - Exclude: - - 'src/api/spec/**/*' - # Checks for redundant `return` expressions Style/RedundantReturn: Enabled: false @@ -76,10 +59,6 @@ Style/WordArray: ##################### Metrics ################################## -Metrics/BlockLength: - Exclude: - - 'src/api/config/routes.rb' - # Checks if the length a class exceeds some maximum value Metrics/ClassLength: Severity: refactor @@ -92,41 +71,3 @@ Metrics/LineLength: # Checks if the length a module exceeds some maximum value Metrics/ModuleLength: Severity: refactor - -##################### Rails ################################## - -Rails: - Enabled: true - -# Actually is not possible to enable this cop because we have several overwritten methods. -Rails/DynamicFindBy: - Enabled: false - -# Enforces that 'exit' calls are not used. -Rails/Exit: - Exclude: - - 'src/api/lib/memory_dumper.rb' - -Rails/HasAndBelongsToMany: - Enabled: false - -# FIXME: Disabled due to a bug in Rubocop. Once it is fixed in this PR (https://github.com/bbatsov/rubocop/pull/5707), it could be enabled again -Rails/HttpStatus: - Enabled: false - -# Checks for the use of output calls like puts and print -Rails/Output: - Exclude: - - 'src/api/app/jobs/*' - - 'src/api/config/*' - - 'src/api/db/**/*' - - 'src/api/lib/**/*' - -# Disabled due to a bug -Rails/BulkChangeTable: - Enabled: false - -# Disabled as we currently violate it everywhere in spec/features directory -# we first need to discuss if we want to move this directory and then fix the violation -Capybara/FeatureMethods: - Enabled: false diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 97b8171c8ed..1c82b8c2b6a 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,147 +1,24 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2018-06-18 11:27:38 +0000 using RuboCop version 0.57.2. +# on 2018-06-22 07:45:47 +0000 using RuboCop version 0.57.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 # versions of RuboCop, may require this file to be generated again. -# Offense count: 20 -Capybara/CurrentPathExpectation: - Exclude: - - 'src/api/spec/features/webui/groups_spec.rb' - - 'src/api/spec/features/webui/packages_spec.rb' - - 'src/api/spec/features/webui/projects_spec.rb' - -# Offense count: 6 -FactoryBot/DynamicAttributeDefinedStatically: - Exclude: - - 'src/api/spec/factories/attrib_default_values.rb' - - 'src/api/spec/factories/issue.rb' - - 'src/api/spec/factories/issue_tracker.rb' - # Offense count: 3 # Cop supports --auto-correct. -Layout/AlignArray: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 7 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. -# SupportedHashRocketStyles: key, separator, table -# SupportedColonStyles: key, separator, table -# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit -Layout/AlignHash: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/distributions_controller.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: with_first_parameter, with_fixed_indentation -Layout/AlignParameters: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - -# Offense count: 13 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. -# SupportedStyles: case, end -Layout/CaseIndentation: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' - -# Offense count: 6 -# Cop supports --auto-correct. -Layout/ClosingHeredocIndentation: - Exclude: - - 'src/api/db/seeds.rb' - - 'src/api/spec/helpers/webui/flash_helper_spec.rb' - - 'src/api/spec/models/kiwi/image/xml_builder_spec.rb' - - 'src/api/spec/models/kiwi/preference_spec.rb' - - 'src/api/spec/models/project_spec.rb' - -# Offense count: 17 -# Cop supports --auto-correct. -Layout/ClosingParenthesisIndentation: - Exclude: - - 'src/api/spec/controllers/webui/package_controller_spec.rb' - - 'src/api/spec/models/bs_request_spec.rb' - - 'src/api/test/unit/package_test.rb' - - 'src/api/test/unit/project_test.rb' - -# Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: AllowBorderComment, AllowMarginComment. -Layout/EmptyComment: - Exclude: - - 'src/api/Gemfile' - - 'src/api/app/models/bs_request_action_accept_info.rb' - - 'src/api/app/models/bs_request_action_add_role.rb' - - 'src/api/app/models/bs_request_action_change_devel.rb' - - 'src/api/app/models/bs_request_action_delete.rb' - - 'src/api/app/models/bs_request_action_group.rb' - - 'src/api/app/models/bs_request_action_maintenance_incident.rb' - - 'src/api/app/models/bs_request_action_maintenance_release.rb' - - 'src/api/app/models/bs_request_action_set_bugowner.rb' - - 'src/api/config/routes.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines. -Layout/EmptyLineBetweenDefs: - Exclude: - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - -# Offense count: 5 -# Cop supports --auto-correct. Layout/EmptyLines: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' -# Offense count: 12 -# 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: - Exclude: - - 'src/api/app/models/obs_factory/distribution_strategy_casp.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_factory_ppc.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_opensuse.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_sle12_sp1.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_sle15.rb' - - 'src/api/app/models/obs_factory/obs_project.rb' - - 'src/api/app/models/obs_factory/openqa_api.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' - -# Offense count: 6 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines -Layout/EmptyLinesAroundModuleBody: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_casp.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_factory_ppc.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_opensuse.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_sle12_sp1.rb' - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - -# Offense count: 4 +# Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment. Layout/ExtraSpacing: Exclude: - 'dist/obs_mirror_project' - 'dist/openQA_mail_notification.rb' - - 'src/api/test/functional/maintenance_test.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -151,34 +28,13 @@ Layout/IndentHeredoc: Exclude: - 'dist/openQA_mail_notification.rb' -# Offense count: 3 +# Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: Width, IgnoredPatterns. Layout/IndentationWidth: Exclude: - 'dist/openQA_mail_notification.rb' - 'dist/t/spec/spec_helper.rb' - - 'src/api/app/helpers/webui/obs_factory/application_helper.rb' - -# Offense count: 19 -# Cop supports --auto-correct. -Layout/LeadingBlankLines: - Enabled: false - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: symmetrical, new_line, same_line -Layout/MultilineMethodCallBraceLayout: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - -# Offense count: 4 -# Cop supports --auto-correct. -Layout/SpaceAfterComma: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - - 'src/api/app/models/obs_factory/distribution.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -186,20 +42,6 @@ Layout/SpaceAfterMethodName: Exclude: - 'dist/obs_mirror_project' -# Offense count: 2 -# Cop supports --auto-correct. -Layout/SpaceAfterNot: - Exclude: - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: space, no_space -Layout/SpaceAroundEqualsInParameterDefault: - Exclude: - - 'src/api/app/models/obs_factory/staging_project.rb' - # Offense count: 5 # Cop supports --auto-correct. Layout/SpaceAroundKeyword: @@ -213,113 +55,24 @@ Layout/SpaceAroundOperators: Exclude: - 'dist/obs_mirror_project' -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. -# SupportedStyles: space, no_space, compact -# SupportedStylesForEmptyBrackets: space, no_space -Layout/SpaceInsideArrayLiteralBrackets: - Exclude: - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. -# SupportedStyles: space, no_space -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideBlockBraces: - Exclude: - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/obs_factory/request.rb' - -# Offense count: 4 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. -# SupportedStyles: space, no_space, compact -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideHashLiteralBraces: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - -# Offense count: 16 +# Offense count: 15 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. # SupportedStyles: space, no_space Layout/SpaceInsideParens: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/models/obs_factory/distribution_strategy_casp.rb' -# Offense count: 23 -# Cop supports --auto-correct. -# Configuration parameters: IndentationWidth. -Layout/Tab: - Exclude: - - 'src/api/db/migrate/20170123115500_remove_duplicate_indexes.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: AllowInHeredoc. -Layout/TrailingWhitespace: - Exclude: - - 'src/api/app/models/obs_factory/distribution_strategy_sle12_sp1.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 2 +# Offense count: 1 # Configuration parameters: AllowSafeAssignment. Lint/AssignmentInCondition: Exclude: - 'dist/clouduploader.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 3 -Lint/DuplicateMethods: - Exclude: - - 'src/api/app/models/history_element.rb' - - 'src/api/lib/activexml/node.rb' - -# Offense count: 21 -Lint/HandleExceptions: - Enabled: false -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: runtime_error, standard_error -Lint/InheritException: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - -# Offense count: 9 -# Configuration parameters: MaximumRangeSize. -Lint/MissingCopEnableDirective: - Exclude: - - 'src/api/spec/controllers/webui/package_controller_spec.rb' - - 'src/api/test/functional/channel_maintenance_test.rb' - - 'src/api/test/functional/kgraft_maintenance_test.rb' - - 'src/api/test/functional/maintenance_test.rb' - - 'src/api/test/functional/request_controller_test.rb' - -# Offense count: 7 -Lint/NonLocalExitFromIterator: - Exclude: - - 'src/api/app/controllers/build_controller.rb' - - 'src/api/app/controllers/configurations_controller.rb' - - 'src/api/app/controllers/webui/patchinfo_controller.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/app/models/patchinfo.rb' - - 'src/api/app/models/relationship.rb' - -# Offense count: 7 +# Offense count: 2 Lint/RescueException: Exclude: - 'dist/openQA_mail_notification.rb' - - 'src/api/app/controllers/person_controller.rb' - - 'src/api/app/controllers/public_controller.rb' - - 'src/api/app/models/user_ldap_strategy.rb' - - 'src/api/config/environment.rb' - - 'src/api/lib/tasks/extract.rake' # Offense count: 1 # Cop supports --auto-correct. @@ -328,658 +81,44 @@ Lint/ScriptPermission: - 'dist/openQA_mail_notification.rb' # Offense count: 1 -Lint/ShadowedException: - Exclude: - - 'src/api/lib/activexml/transport.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Lint/UnneededCopEnableDirective: - Exclude: - - 'src/api/test/unit/schema_test.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. -Lint/UnusedBlockArgument: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/application_controller.rb' - -# Offense count: 40 -Lint/UriEscapeUnescape: - Enabled: false - -# Offense count: 5 Lint/UselessAssignment: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/models/obs_factory/distribution_strategy_casp.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_factory.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_opensuse.rb' -# Offense count: 916 +# Offense count: 4 Metrics/AbcSize: - Max: 239 + Max: 19 -# Offense count: 488 +# Offense count: 6 # Configuration parameters: CountComments, ExcludedMethods. Metrics/BlockLength: - Max: 505 + Max: 126 -# Offense count: 26 -# Configuration parameters: CountBlocks. -Metrics/BlockNesting: - Max: 6 - -# Offense count: 93 -# Configuration parameters: CountComments. -Metrics/ClassLength: - Max: 1097 - -# Offense count: 252 +# Offense count: 1 Metrics/CyclomaticComplexity: - Max: 55 + Max: 7 -# Offense count: 973 +# Offense count: 8 # Configuration parameters: CountComments. Metrics/MethodLength: - Max: 264 + Max: 24 -# Offense count: 7 -# Configuration parameters: CountComments. -Metrics/ModuleLength: - Max: 352 - -# Offense count: 20 +# Offense count: 1 # Configuration parameters: CountKeywordArgs. Metrics/ParameterLists: - Max: 9 - -# Offense count: 214 -Metrics/PerceivedComplexity: - Max: 55 - -# Offense count: 14 -Naming/AccessorMethodName: - Exclude: - - 'src/api/app/controllers/application_controller.rb' - - 'src/api/app/controllers/person_controller.rb' - - 'src/api/app/controllers/source_controller.rb' - - 'src/api/app/controllers/statistics_controller.rb' - - 'src/api/app/controllers/webui/patchinfo_controller.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/app/models/bs_request_action.rb' - - 'src/api/app/models/bs_request_action_maintenance_release.rb' - - 'src/api/app/models/group.rb' - - 'src/api/app/models/issue_tracker.rb' - - 'src/api/app/models/package.rb' - - 'src/api/app/models/user.rb' - - 'src/api/test/functional/search_controller_test.rb' - -# Offense count: 2 -Naming/BinaryOperatorParameterName: - Exclude: - - 'src/api/app/models/obs_factory/request.rb' - -# Offense count: 1 -Naming/ConstantName: - Exclude: - - 'src/api/test/unit/issue_test.rb' - -# Offense count: 26 -# Configuration parameters: Blacklist. -# Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$)) -Naming/HeredocDelimiterNaming: - Exclude: - - 'src/api/db/seeds.rb' - - 'src/api/spec/controllers/webui/package_controller_spec.rb' - - 'src/api/spec/helpers/webui/flash_helper_spec.rb' - - 'src/api/spec/models/project/update_from_xml_command_spec.rb' - - 'src/api/test/functional/issue_trackers_controller_test.rb' - - 'src/api/test/functional/source_controller_test.rb' - - 'src/api/test/unit/project_test.rb' - - 'src/api/test/unit/validator_test.rb' - -# Offense count: 3 -Naming/MemoizedInstanceVariableName: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/lib/activexml/transport.rb' - - 'src/api/lib/authenticator.rb' - -# Offense count: 12 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: snake_case, camelCase -Naming/MethodName: - Exclude: - - 'src/api/app/controllers/source_controller.rb' - - 'src/api/app/models/maintenance_incident.rb' - - 'src/api/app/models/product.rb' - - 'src/api/app/models/service.rb' - - 'src/api/test/functional/maintenance_test.rb' - - 'src/api/test/functional/search_controller_test.rb' - - 'src/api/test/test_helper.rb' - -# Offense count: 55 -# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros. -# NamePrefix: is_, has_, have_ -# NamePrefixBlacklist: is_, has_, have_ -# NameWhitelist: is_a? -# MethodDefinitionMacros: define_method, define_singleton_method -Naming/PredicateName: - Exclude: - - 'spec/**/*' - - 'src/api/app/helpers/webui/webui_helper.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/app/models/bs_request_action.rb' - - 'src/api/app/models/bs_request_action_maintenance_incident.rb' - - 'src/api/app/models/bs_request_action_maintenance_release.rb' - - 'src/api/app/models/bs_request_action_submit.rb' - - 'src/api/app/models/channel.rb' - - 'src/api/app/models/flag.rb' - - 'src/api/app/models/package.rb' - - 'src/api/app/models/patchinfo.rb' - - 'src/api/app/models/project.rb' - - 'src/api/app/models/repository.rb' - - 'src/api/app/models/user.rb' - - 'src/api/app/models/user_ldap_strategy.rb' - - 'src/api/lib/activexml/node.rb' - -# Offense count: 62 -# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to, by, on, in, at -Naming/UncommunicativeMethodParamName: - Enabled: false - -# Offense count: 3 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: snake_case, normalcase, non_integer -Naming/VariableNumber: - Exclude: - - 'src/api/spec/features/webui/projects_spec.rb' - - 'src/api/test/unit/project_test.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Performance/InefficientHashSearch: - Exclude: - - 'src/api/app/models/user.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -Performance/RegexpMatch: - Exclude: - - 'src/api/app/models/obs_factory/distribution_strategy_factory.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 49 -RSpec/AnyInstance: - Enabled: false - -# Offense count: 8 -RSpec/BeforeAfterAll: - Exclude: - - 'spec/spec_helper.rb' - - 'spec/rails_helper.rb' - - 'spec/support/**/*.rb' - - 'dist/t/spec/features/0020_interconnect_spec.rb' - - 'dist/t/spec/features/0030_project_spec.rb' - - 'dist/t/spec/features/0040_package_spec.rb' - - 'src/api/spec/models/relationship_spec.rb' - -# Offense count: 478 -# Configuration parameters: Prefixes. -# Prefixes: when, with, without -RSpec/ContextWording: - Enabled: false - -# Offense count: 9 -RSpec/DescribeClass: - Exclude: - - 'dist/t/spec/features/0010_authentication_spec.rb' - - 'dist/t/spec/features/0020_interconnect_spec.rb' - - 'dist/t/spec/features/0030_project_spec.rb' - - 'dist/t/spec/features/0040_package_spec.rb' - - 'src/api/spec/routing/api_matcher_spec.rb' - - 'src/api/spec/routing/source/key_info_spec.rb' - - 'src/api/spec/routing/webui/projects/public_key_spec.rb' - - 'src/api/spec/routing/webui/projects/ssl_certificate_spec.rb' - - 'src/api/spec/routing/webui_matcher_spec.rb' - -# Offense count: 176 -# Configuration parameters: SkipBlocks, EnforcedStyle. -# SupportedStyles: described_class, explicit -RSpec/DescribedClass: - Enabled: false - -# Offense count: 56 -RSpec/EmptyLineAfterFinalLet: - Enabled: false - -# Offense count: 15 -RSpec/EmptyLineAfterSubject: - Exclude: - - 'src/api/spec/controllers/webui/user_controller_spec.rb' - - 'src/api/spec/models/backend_info_spec.rb' - - 'src/api/spec/models/bs_request/find_for/user_spec.rb' - - 'src/api/spec/models/bs_request_spec.rb' - - 'src/api/spec/models/download_repository_spec.rb' - - 'src/api/spec/models/review_spec.rb' - - 'src/api/spec/support/shared_examples/features/flags_tables.rb' - -# Offense count: 165 -# Configuration parameters: Max. -RSpec/ExampleLength: - Enabled: false - -# Offense count: 28 -# Configuration parameters: CustomTransform, IgnoredWords. -RSpec/ExampleWording: - Exclude: - - 'dist/t/spec/features/0010_authentication_spec.rb' - - 'dist/t/spec/features/0020_interconnect_spec.rb' - - 'dist/t/spec/features/0030_project_spec.rb' - - 'dist/t/spec/features/0040_package_spec.rb' - - 'src/api/spec/controllers/webui/comments_controller_spec.rb' - - 'src/api/spec/controllers/webui/packages/build_reason_controller_spec.rb' - - 'src/api/spec/controllers/webui/packages/job_history_controller_spec.rb' - - 'src/api/spec/controllers/webui/repositories_controller_spec.rb' - - 'src/api/spec/jobs/update_package_meta_job_spec.rb' - - 'src/api/spec/models/backend/file_spec.rb' - - 'src/api/spec/models/branch_package_spec.rb' - - 'src/api/spec/models/comment_spec.rb' - - 'src/api/spec/models/project/update_from_xml_command_spec.rb' - -# Offense count: 8 -RSpec/ExpectActual: - Exclude: - - 'spec/routing/**/*' - - 'src/api/spec/controllers/webui/webui_controller_spec.rb' - - 'src/api/spec/helpers/webui/webui_helper_spec.rb' - - 'src/api/spec/script/db_checker.rb' - -# Offense count: 4 -RSpec/ExpectInHook: - Exclude: - - 'src/api/spec/controllers/webui/project_controller_spec.rb' - - 'src/api/spec/features/webui/projects_spec.rb' - -# Offense count: 10 -# Configuration parameters: CustomTransform, IgnoreMethods. -RSpec/FilePath: - Exclude: - - 'src/api/spec/controllers/webui/attributes_controller_spec.rb' - - 'src/api/spec/controllers/webui/cloud/ec2/upload_job/logs_controller_spec.rb' - - 'src/api/spec/controllers/webui/users/rss_token_controller_spec.rb' - - 'src/api/spec/decorators/statistics/maintenance_statistic_decorator.rb' - - 'src/api/spec/helpers/webui/build_result_helper.rb' - - 'src/api/spec/jobs/bs_request_action_webui_infos_job.rb' - - 'src/api/spec/jobs/project_log_rotate_job_spec.rb' - - 'src/api/spec/models/event/comment_spec.rb' - - 'src/api/spec/models/image_template_spec.rb' - - 'src/api/spec/script/db_checker.rb' - -# Offense count: 9 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: implicit, each, example -RSpec/HookArgument: - Exclude: - - 'dist/t/spec/features/0010_authentication_spec.rb' - - 'dist/t/spec/spec_helper.rb' - - 'src/api/spec/models/branch_package_spec.rb' - - 'src/api/spec/models/group_spec.rb' - - 'src/api/spec/rails_helper.rb' - - 'src/api/spec/support/database_cleaner.rb' - -# Offense count: 13 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: is_expected, should -RSpec/ImplicitExpect: - Exclude: - - 'src/api/spec/controllers/webui/download_on_demand_controller_spec.rb' - - 'src/api/spec/models/bs_request_action_spec.rb' - - 'src/api/spec/models/project_spec.rb' - - 'src/api/spec/models/repository_spec.rb' - - 'src/api/spec/models/review_spec.rb' - -# Offense count: 83 -# Configuration parameters: AssignmentOnly. -RSpec/InstanceVariable: - Exclude: - - 'src/api/spec/controllers/public_controller_spec.rb' - - 'src/api/spec/controllers/webui/monitor_controller_spec.rb' - - 'src/api/spec/controllers/webui/patchinfo_controller_spec.rb' - - 'src/api/spec/controllers/webui/project_controller_spec.rb' - - 'src/api/spec/controllers/webui/request_controller_spec.rb' - - 'src/api/spec/controllers/webui/users/rss_token_controller_spec.rb' - - 'src/api/spec/helpers/webui/patchinfo_helper_spec.rb' - - 'src/api/spec/helpers/webui/webui_helper_spec.rb' - - 'src/api/spec/models/backend/file_spec.rb' - - 'src/api/spec/models/bs_request_spec.rb' - - 'src/api/spec/models/group_spec.rb' - - 'src/api/spec/models/image_template_spec.rb' - - 'src/api/spec/models/project/update_from_xml_command_spec.rb' - - 'src/api/spec/models/relationship_spec.rb' - - 'src/api/spec/models/review_spec.rb' - -# Offense count: 63 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: it_behaves_like, it_should_behave_like -RSpec/ItBehavesLike: - Exclude: - - 'src/api/spec/controllers/person_controller_spec.rb' - - 'src/api/spec/controllers/webui/package_controller_spec.rb' - - 'src/api/spec/controllers/webui/project_controller_spec.rb' - - 'src/api/spec/controllers/webui/user_controller_spec.rb' - - 'src/api/spec/helpers/webui/package_helper_spec.rb' - - 'src/api/spec/models/bs_request_action_spec.rb' - - 'src/api/spec/models/bs_request_spec.rb' - - 'src/api/spec/models/project_status/pack_info_spec.rb' - - 'src/api/spec/models/review_spec.rb' - - 'src/api/spec/models/user_ldap_strategy_spec.rb' - -# Offense count: 2 -RSpec/IteratedExpectation: - Exclude: - - 'src/api/spec/models/user_spec.rb' - - 'src/api/spec/script/db_checker.rb' - -# Offense count: 118 -RSpec/LeadingSubject: - Enabled: false - -# Offense count: 235 -RSpec/LetSetup: - Enabled: false - -# Offense count: 5 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: have_received, receive -RSpec/MessageSpies: - Exclude: - - 'src/api/spec/controllers/webui/apidocs_controller_spec.rb' - - 'src/api/spec/controllers/webui/project_controller_spec.rb' - - 'src/api/spec/helpers/validation_helper_spec.rb' - - 'src/api/spec/models/kiwi/image_spec.rb' - -# Offense count: 296 -# Configuration parameters: AggregateFailuresByDefault. -RSpec/MultipleExpectations: - Max: 15 - -# Offense count: 522 -RSpec/NamedSubject: - Enabled: false - -# Offense count: 279 -RSpec/NestedGroups: - Max: 7 - -# Offense count: 48 -# Configuration parameters: Strict, EnforcedStyle. -# SupportedStyles: inflected, explicit -RSpec/PredicateMatcher: - Exclude: - - 'src/api/spec/controllers/webui/request_controller_spec.rb' - - 'src/api/spec/models/attrib_value_spec.rb' - - 'src/api/spec/models/backend/file_spec.rb' - - 'src/api/spec/models/cloud/backend/upload_job_spec.rb' - - 'src/api/spec/models/cloud/upload_job_spec.rb' - - 'src/api/spec/models/event_subscription/generate_hash_for_subscriber_spec.rb' - - 'src/api/spec/models/kiwi/image_spec.rb' - - 'src/api/spec/models/project_spec.rb' - - 'src/api/spec/models/review_spec.rb' - - 'src/api/spec/models/user_spec.rb' - -# Offense count: 4 -RSpec/RepeatedDescription: - Exclude: - - 'src/api/spec/features/webui/projects_spec.rb' - - 'src/api/spec/models/kiwi/repository_spec.rb' - -# Offense count: 6 -RSpec/RepeatedExample: - Exclude: - - 'src/api/spec/lib/backend/connection_helper_spec.rb' - - 'src/api/spec/models/bs_request/find_for/user_spec.rb' - - 'src/api/spec/models/kiwi/image_spec.rb' - -# Offense count: 2 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: and_return, block -RSpec/ReturnFromStub: - Exclude: - - 'src/api/spec/controllers/webui/project_controller_spec.rb' - -# Offense count: 9 -RSpec/ScatteredLet: - Exclude: - - 'src/api/spec/controllers/webui/patchinfo_controller_spec.rb' - - 'src/api/spec/controllers/webui/subscriptions_controller_spec.rb' - - 'src/api/spec/models/bs_request_spec.rb' - - 'src/api/spec/models/package_spec.rb' - - 'src/api/spec/models/project_spec.rb' - -# Offense count: 4 -RSpec/ScatteredSetup: - Exclude: - - 'src/api/spec/controllers/webui/cloud/upload_jobs_controller_spec.rb' - - 'src/api/spec/jobs/update_released_binaries_job_spec.rb' - -# Offense count: 1 -RSpec/SubjectStub: - Exclude: - - 'src/api/spec/models/kiwi/image_spec.rb' - -# Offense count: 34 -# Configuration parameters: IgnoreSymbolicNames. -RSpec/VerifiedDoubles: - Exclude: - - 'src/api/spec/decorators/statistics/maintenance_statistic_decorator.rb' - - 'src/api/spec/features/webui/login_spec.rb' - - 'src/api/spec/jobs/issue_tracker_fetch_issues_job_spec.rb' - - 'src/api/spec/jobs/issue_tracker_update_issues_job_spec.rb' - - 'src/api/spec/lib/authenticator_spec.rb' - - 'src/api/spec/lib/backend/connection_helper_spec.rb' - - 'src/api/spec/mixins/build_log_support_spec.rb' - - 'src/api/spec/mixins/parse_package_diff_spec.rb' - - 'src/api/spec/models/issue_tracker_spec.rb' - - 'src/api/spec/models/user_ldap_strategy_spec.rb' - - 'src/api/spec/models/user_spec.rb' - - 'src/api/spec/support/shared_contexts/a_kerberos_mock.rb' - - 'src/api/spec/support/shared_contexts/setup_ldap_mock.rb' - - 'src/api/spec/support/shared_examples/a_ldap_connection.rb' - -# Offense count: 26 -# Cop supports --auto-correct. -Rails/ActiveRecordAliases: - Enabled: false - -# Offense count: 26 -# Cop supports --auto-correct. -# Configuration parameters: Include. -# Include: **/test/**/* -Rails/AssertNot: - Exclude: - - 'src/api/test/functional/request_controller_test.rb' - - 'src/api/test/functional/search_controller_test.rb' - - 'src/api/test/test_helper.rb' - - 'src/api/test/unit/bs_request_test.rb' - - 'src/api/test/unit/package_test.rb' - - 'src/api/test/unit/project_test.rb' - - 'src/api/test/unit/role_test.rb' - - 'src/api/test/unit/user_test.rb' - -# Offense count: 87 -# Configuration parameters: Include. -# Include: db/migrate/*.rb -Rails/CreateTableWithTimestamps: - Exclude: - - 'src/api/db/migrate/001_initial_database.rb' - - 'src/api/db/migrate/20140624101042_add_package_tracking.rb' - - 'src/api/db/migrate/20140627071042_product_media_tracking.rb' - - 'src/api/db/migrate/20140819071042_group_maintainer.rb' - - 'src/api/db/migrate/20140916135426_project_maintains.rb' - - 'src/api/db/migrate/20141110105426_fix_product_media_uniq_index.rb' - - 'src/api/db/migrate/20150625105426_multiple_incident_counters.rb' - - 'src/api/db/migrate/20150807105426_new_dod_table.rb' - - 'src/api/db/migrate/20160321105300_request_counter.rb' - - 'src/api/db/migrate/20171030143054_create_kiwi_preference_types.rb' - -# Offense count: 5 -# Cop supports --auto-correct. -# Configuration parameters: EnforceForPrefixed. -Rails/Delegate: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/obs_project.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 85 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: slashes, arguments -Rails/FilePath: - Enabled: false - -# Offense count: 22 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/HasManyOrHasOneDependent: - Exclude: - - 'src/api/app/models/architecture.rb' - - 'src/api/app/models/attrib.rb' - - 'src/api/app/models/package.rb' - - 'src/api/app/models/project.rb' - - 'src/api/app/models/repository.rb' - - 'src/api/app/models/review.rb' - - 'src/api/app/models/static_permission.rb' - - 'src/api/app/models/user.rb' - -# Offense count: 59 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/InverseOf: - Enabled: false - -# Offense count: 13 -# Configuration parameters: Include. -# Include: app/controllers/**/*.rb -Rails/LexicallyScopedActionFilter: - Exclude: - - 'src/api/app/controllers/issues_controller.rb' - - 'src/api/app/controllers/statistics_controller.rb' - - 'src/api/app/controllers/webui/monitor_controller.rb' - - 'src/api/app/controllers/webui/package_controller.rb' - - 'src/api/app/controllers/webui/patchinfo_controller.rb' - - 'src/api/app/controllers/webui/project_controller.rb' - - 'src/api/app/controllers/webui/user_controller.rb' - -# Offense count: 31 -Rails/OutputSafety: - Exclude: - - 'src/api/app/helpers/comment_helper.rb' - - 'src/api/app/helpers/webui/package_helper.rb' - - 'src/api/app/helpers/webui/project_helper.rb' - - 'src/api/app/helpers/webui/request_helper.rb' - - 'src/api/app/helpers/webui/webui_helper.rb' - -# Offense count: 5 -# Cop supports --auto-correct. -Rails/Presence: - Exclude: - - 'src/api/app/helpers/webui/package_helper.rb' - - 'src/api/app/models/kiwi/image/xml_parser.rb' + Max: 6 # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank. -Rails/Present: - Exclude: - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' +Metrics/PerceivedComplexity: + Max: 8 # Offense count: 1 # Cop supports --auto-correct. -# Configuration parameters: Include. -# Include: **/test/**/* -Rails/RefuteMethods: - Exclude: - - 'src/api/test/models/project_log_entry_test.rb' - -# Offense count: 8 -# Configuration parameters: Include. -# Include: db/migrate/*.rb -Rails/ReversibleMigration: - Exclude: - - 'src/api/db/migrate/20140210114542_remove_project_and_package_from_subscription.rb' - - 'src/api/db/migrate/20140516182719_fix_configuration_register_enum.rb' - - 'src/api/db/migrate/20160824132643_fix_bs_request_counter.rb' - - 'src/api/db/migrate/20170103132257_change_project_package_name_to_string.rb' - -# Offense count: 6 -# Configuration parameters: Blacklist. -# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters -Rails/SkipsModelValidations: - Exclude: - - 'src/api/db/migrate/20151030130011_mark_events.rb' - - 'src/api/db/migrate/20161128115942_add_when_attribute_to_bs_request.rb' - - 'src/api/db/migrate/20170621100321_add_channel_to_event_subscriptions.rb' - - 'src/api/db/migrate/20170630144825_convert_tokens_to_service_tokens.rb' - - 'src/api/spec/models/bs_request_action_spec.rb' - - 'src/api/spec/models/review_spec.rb' - -# Offense count: 100 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: strict, flexible -Rails/TimeZone: - Enabled: false - -# Offense count: 2 -Security/Open: - Exclude: - - 'src/api/app/models/obs_factory/distribution_strategy_factory.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_opensuse.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -Security/YAMLLoad: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 28 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: inline, group -Style/AccessModifierDeclarations: - Enabled: false - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: always, conditionals -Style/AndOr: - Exclude: - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - - 'src/api/app/models/obs_factory/openqa_api.rb' - -# Offense count: 74 -# Cop supports --auto-correct. # Configuration parameters: AutoCorrect, EnforcedStyle. # SupportedStyles: nested, compact Style/ClassAndModuleChildren: - Enabled: false - -# Offense count: 36 -Style/ClassVars: Exclude: - - 'src/api/app/controllers/test_controller.rb' - - 'src/api/app/models/issue_tracker.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/user.rb' - - 'src/api/app/models/user_ldap_strategy.rb' - - 'src/api/lib/activexml/node.rb' - - 'src/api/lib/activexml/transport.rb' - - 'src/api/test/functional/branch_publish_flag_test.rb' - - 'src/api/test/test_helper.rb' + - 'docs/dev/controller_template_example.rb' # Offense count: 2 # Cop supports --auto-correct. @@ -987,174 +126,66 @@ Style/ColonMethodCall: Exclude: - 'dist/obs_mirror_project' -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: Keywords. -# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW -Style/CommentAnnotation: - Exclude: - - 'src/api/test/functional/request_controller_test.rb' - -# Offense count: 6 -Style/CommentedKeyword: - Exclude: - - 'src/api/app/models/bs_request_action.rb' - - 'src/api/test/functional/source_controller_test.rb' - - 'src/api/test/unit/user_ldap_strategy_test.rb' - - 'src/api/test/unit/user_test.rb' - -# Offense count: 93 +# Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. # SupportedStyles: assign_to_condition, assign_inside_condition Style/ConditionalAssignment: - Enabled: false - -# Offense count: 17 -Style/DateTime: Exclude: - - 'src/api/app/controllers/request_controller.rb' - - 'src/api/app/jobs/project_create_auto_cleanup_requests.rb' - - 'src/api/app/models/branch_package.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/spec/features/webui/requests_spec.rb' - - 'src/api/test/functional/maintenance_test.rb' - -# Offense count: 1 -Style/DoubleNegation: - Exclude: - - 'src/api/app/models/obs_factory/openqa_job.rb' + - 'dist/obs_mirror_project' # Offense count: 2 # Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: empty, nil, both -Style/EmptyElse: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 4 -# Cop supports --auto-correct. -Style/EmptyLiteral: - Exclude: - - 'src/api/app/models/obs_factory/openqa_api.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' - -# Offense count: 5 -# Cop supports --auto-correct. Style/ExpandPathArguments: Exclude: - 'dist/t/spec/features/0040_package_spec.rb' - - 'src/api/bin/bundle' - - 'src/api/spec/rails_helper.rb' - - 'src/api/test/test_helper.rb' -# Offense count: 12 +# Offense count: 1 # Configuration parameters: EnforcedStyle. # SupportedStyles: each, for Style/For: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/models/bs_request_action_maintenance_release.rb' - - 'src/api/app/models/project.rb' - - 'src/api/app/views/webui/feeds/news.rss.builder' - - 'src/api/db/attribute_descriptions.rb' - - 'src/api/test/functional/attributes_test.rb' - - 'src/api/test/unit/build_flag_test.rb' - - 'src/api/test/unit/debug_flag_test.rb' - - 'src/api/test/unit/publish_flag_test.rb' -# Offense count: 2 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: annotated, template, unannotated -Style/FormatStringToken: - Exclude: - - 'src/api/app/helpers/webui/project_helper.rb' - - 'src/api/lib/backend/connection_helper.rb' - -# Offense count: 1030 +# Offense count: 14 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. # SupportedStyles: when_needed, always, never Style/FrozenStringLiteralComment: - Enabled: false - -# Offense count: 8 -# Configuration parameters: MinBodyLength. -Style/GuardClause: Exclude: - - 'src/api/app/controllers/webui/obs_factory/distributions_controller.rb' - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' + - 'Rakefile' + - 'contrib/git-diff-to-deploy' + - 'dist/clouduploader.rb' + - 'dist/obs_mirror_project' + - 'dist/openQA_mail_notification.rb' + - 'dist/t/Gemfile' + - 'dist/t/spec/features/0010_authentication_spec.rb' + - 'dist/t/spec/features/0020_interconnect_spec.rb' + - 'dist/t/spec/features/0030_project_spec.rb' + - 'dist/t/spec/features/0040_package_spec.rb' + - 'dist/t/spec/spec_helper.rb' + - 'dist/t/spec/support/capybara.rb' + - 'docs/dev/controller_template_example.rb' + - 'docs/dev/model_template_example.rb' # Offense count: 2 # Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. -# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys -Style/HashSyntax: - Exclude: - - 'src/api/app/models/obs_factory/request.rb' - -# Offense count: 6 -Style/IdenticalConditionalBranches: - Exclude: - - 'src/api/app/controllers/build_controller.rb' - - 'src/api/app/controllers/webui/search_controller.rb' - -# Offense count: 252 -# Cop supports --auto-correct. Style/IfUnlessModifier: - Enabled: false - -# Offense count: 14 -# Cop supports --auto-correct. -# Configuration parameters: InverseMethods, InverseBlocks. -Style/InverseMethods: Exclude: - - 'src/api/app/controllers/webui/obs_factory/staging_projects_controller.rb' - - 'src/api/app/controllers/webui/project_controller.rb' - - 'src/api/app/mixins/has_attributes.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/app/models/bs_request_action_submit.rb' - - 'src/api/app/models/bs_request_permission_check.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - - 'src/api/app/models/package.rb' - - 'src/api/app/models/project.rb' - - 'src/api/app/views/source/_common_issues.xml.builder' - - 'src/api/test/functional/request_events_test.rb' + - 'dist/t/spec/features/0040_package_spec.rb' + - 'dist/t/spec/support/capybara.rb' -# Offense count: 2 +# Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: IgnoredMethods. Style/MethodCallWithoutArgsParentheses: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' # Offense count: 1 -Style/MethodMissingSuper: - Exclude: - - 'src/api/lib/opensuse/permission.rb' - -# Offense count: 2 -Style/MissingRespondToMissing: - Exclude: - - 'src/api/app/models/configuration.rb' - - 'src/api/lib/opensuse/permission.rb' - -# Offense count: 8 Style/MixinUsage: Exclude: - 'dist/obs_mirror_project' - - 'src/api/app/controllers/request_controller.rb' - - 'src/api/app/controllers/source_controller.rb' - - 'src/api/app/helpers/maintenance_helper.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/script/start_test_backend' - - 'src/api/spec/helpers/webui/search_helper_spec.rb' # Offense count: 9 # Cop supports --auto-correct. @@ -1162,24 +193,12 @@ Style/MultilineIfModifier: Exclude: - 'dist/obs_mirror_project' -# Offense count: 5 -Style/MultipleComparison: - Exclude: - - 'src/api/app/helpers/flag_helper.rb' - - 'src/api/app/models/bs_request.rb' - - 'src/api/lib/memory_debugger.rb' - - 'src/api/lib/tasks/extract.rake' - - 'src/api/script/reformat_memprof' - -# Offense count: 16 +# Offense count: 9 # Cop supports --auto-correct. Style/MutableConstant: Exclude: - 'dist/openQA_mail_notification.rb' - 'dist/t/spec/spec_helper.rb' - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/request.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' # Offense count: 7 # Cop supports --auto-correct. @@ -1189,40 +208,13 @@ Style/NegatedIf: Exclude: - 'dist/obs_mirror_project' -# Offense count: 2 +# Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, MinBodyLength. # SupportedStyles: skip_modifier_ifs, always Style/Next: Exclude: - 'dist/openQA_mail_notification.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - -# Offense count: 6 -# Cop supports --auto-correct. -# Configuration parameters: Strict. -Style/NumericLiterals: - MinDigits: 6 - -# Offense count: 48 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect, EnforcedStyle. -# SupportedStyles: predicate, comparison -Style/NumericPredicate: - Enabled: false - -# Offense count: 20 -# Cop supports --auto-correct. -# Configuration parameters: PreferredDelimiters. -Style/PercentLiteralDelimiters: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/obs_project.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/obs_factory/request.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -1230,57 +222,12 @@ Style/PerlBackrefs: Exclude: - 'dist/clouduploader.rb' -# Offense count: 20 +# Offense count: 9 # Cop supports --auto-correct. Style/RedundantBegin: Exclude: - 'Rakefile' - 'dist/openQA_mail_notification.rb' - - 'src/api/app/controllers/public_controller.rb' - - 'src/api/app/controllers/webui/package_controller.rb' - - 'src/api/app/jobs/accept_requests.rb' - - 'src/api/app/jobs/consistency_check_job.rb' - - 'src/api/app/mixins/build_log_support.rb' - - 'src/api/app/models/distribution.rb' - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/package.rb' - - 'src/api/app/models/project.rb' - - 'src/api/db/checker.rb' - - 'src/api/script/start_test_backend' - -# Offense count: 6 -# Cop supports --auto-correct. -Style/RedundantSelf: - Exclude: - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - -# Offense count: 92 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, AllowInnerSlashes. -# SupportedStyles: slashes, percent_r, mixed -Style/RegexpLiteral: - Enabled: false - -# Offense count: 3 -# Cop supports --auto-correct. -Style/RescueModifier: - Exclude: - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/obs_factory/request.rb' - -# Offense count: 26 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: implicit, explicit -Style/RescueStandardError: - Enabled: false - -# Offense count: 72 -# Cop supports --auto-correct. -# Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist. -# Whitelist: present?, blank?, presence, try, try! -Style/SafeNavigation: - Enabled: false # Offense count: 2 # Cop supports --auto-correct. @@ -1288,12 +235,21 @@ Style/StderrPuts: Exclude: - 'dist/openQA_mail_notification.rb' -# Offense count: 95 +# Offense count: 70 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # SupportedStyles: single_quotes, double_quotes Style/StringLiterals: - Enabled: false + Exclude: + - 'dist/clouduploader.rb' + - 'dist/obs_mirror_project' + - 'dist/openQA_mail_notification.rb' + - 'dist/t/spec/features/0010_authentication_spec.rb' + - 'dist/t/spec/features/0020_interconnect_spec.rb' + - 'dist/t/spec/features/0030_project_spec.rb' + - 'dist/t/spec/features/0040_package_spec.rb' + - 'dist/t/spec/spec_helper.rb' + - 'dist/t/spec/support/capybara.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -1303,59 +259,8 @@ Style/StringLiteralsInInterpolation: Exclude: - 'dist/clouduploader.rb' -# Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: IgnoredMethods. -# IgnoredMethods: respond_to, define_method -Style/SymbolProc: - Exclude: - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' - -# Offense count: 3 -# Cop supports --auto-correct. -# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist. -# Whitelist: 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: - - 'src/api/lib/activexml/node.rb' - - 'src/api/test/test_helper.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Style/UnlessElse: - Exclude: - - 'src/api/app/models/obs_factory/openqa_job.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -Style/UnneededCondition: - Exclude: - - 'src/api/app/models/binary_release.rb' - - 'src/api/script/import_database.rb' - # Offense count: 4 # Cop supports --auto-correct. Style/UnneededInterpolation: Exclude: - 'dist/obs_mirror_project' - -# Offense count: 21 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, MinSize, WordRegex. -# SupportedStyles: percent, brackets -Style/WordArray: - Exclude: - - 'src/api/app/models/obs_factory/distribution.rb' - - 'src/api/app/models/obs_factory/distribution_strategy_factory.rb' - - 'src/api/app/models/obs_factory/obs_project.rb' - - 'src/api/app/models/obs_factory/openqa_job.rb' - - 'src/api/app/models/obs_factory/request.rb' - - 'src/api/app/models/obs_factory/staging_project.rb' - - 'src/api/app/presenters/obs_factory/obs_project_presenter.rb' - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' - -# Offense count: 1 -# Cop supports --auto-correct. -Style/ZeroLengthPredicate: - Exclude: - - 'src/api/app/presenters/obs_factory/staging_project_presenter.rb' diff --git a/src/api/.rubocop.yml b/src/api/.rubocop.yml index 365fda59bb4..fa524fc425e 100644 --- a/src/api/.rubocop.yml +++ b/src/api/.rubocop.yml @@ -1,5 +1,66 @@ -inherit_from: ../../.rubocop.yml +require: rubocop-rspec + +inherit_from: .rubocop_todo.yml AllCops: UseCache: true - CacheRootDirectory: tmp/rubocop_cache + CacheRootDirectory: tmp/rubocop_cache_rails_dir + MaxFilesInCache: 2000 + Exclude: + - 'tmp/**/*' + - 'lib/templates/**/*' + - 'vendor/bundle/**/*' + - 'test/fixtures/backend/**/*' + - 'files/*' + - 'db/data_schema.rb' + +#################### Style ########################### + +# We need to allow some variables related to rabbiMQ. +Style/GlobalVars: + AllowedVariables: ['$rabbitmq_conn', '$rabbitmq_exchange', '$rabbitmq_channel'] + +# Checks for chaining of a block after another block that spans multiple lines. +# We disabled this cop because of Rantly. +Style/MultilineBlockChain: + Exclude: + - 'spec/**/*' + +##################### Metrics ################################## + +Metrics/BlockLength: + Exclude: + - 'config/routes.rb' + +##################### Rails ################################## + +Rails: + Enabled: true + +# Actually is not possible to enable this cop because we have several overwritten methods. +Rails/DynamicFindBy: + Enabled: false + +# Enforces that 'exit' calls are not used. +Rails/Exit: + Exclude: + - 'lib/memory_dumper.rb' + +Rails/HasAndBelongsToMany: + Enabled: false + +# FIXME: Disabled due to a bug in Rubocop. Once it is fixed in this PR (https://github.com/bbatsov/rubocop/pull/5707), it could be enabled again +Rails/HttpStatus: + Enabled: false + +# Checks for the use of output calls like puts and print +Rails/Output: + Exclude: + - 'app/jobs/*' + - 'config/*' + - 'db/**/*' + - 'lib/**/*' + +# Disabled due to a bug +Rails/BulkChangeTable: + Enabled: false diff --git a/src/api/.rubocop_todo.yml b/src/api/.rubocop_todo.yml new file mode 100644 index 00000000000..1ed0d277ea7 --- /dev/null +++ b/src/api/.rubocop_todo.yml @@ -0,0 +1,1359 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2018-06-22 07:58:16 +0000 using RuboCop version 0.57.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 +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 20 +Capybara/CurrentPathExpectation: + Exclude: + - 'spec/features/webui/groups_spec.rb' + - 'spec/features/webui/packages_spec.rb' + - 'spec/features/webui/projects_spec.rb' + +# Offense count: 123 +# Configuration parameters: EnabledMethods. +Capybara/FeatureMethods: + Enabled: false + +# Offense count: 6 +FactoryBot/DynamicAttributeDefinedStatically: + Exclude: + - 'spec/factories/attrib_default_values.rb' + - 'spec/factories/issue.rb' + - 'spec/factories/issue_tracker.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Layout/AlignArray: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 240 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/AlignHash: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_parameter, with_fixed_indentation +Layout/AlignParameters: + Exclude: + - 'app/models/obs_factory/distribution.rb' + +# Offense count: 13 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. +# SupportedStyles: case, end +Layout/CaseIndentation: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +Layout/ClosingHeredocIndentation: + Exclude: + - 'db/seeds.rb' + - 'spec/helpers/webui/flash_helper_spec.rb' + - 'spec/models/kiwi/image/xml_builder_spec.rb' + - 'spec/models/kiwi/preference_spec.rb' + - 'spec/models/project_spec.rb' + +# Offense count: 17 +# Cop supports --auto-correct. +Layout/ClosingParenthesisIndentation: + Exclude: + - 'spec/controllers/webui/package_controller_spec.rb' + - 'spec/models/bs_request_spec.rb' + - 'test/unit/package_test.rb' + - 'test/unit/project_test.rb' + +# Offense count: 83 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: leading, trailing +Layout/DotPosition: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +Layout/ElseAlignment: + Exclude: + - 'lib/rabbitmq_bus.rb' + +# Offense count: 10 +# Cop supports --auto-correct. +# Configuration parameters: AllowBorderComment, AllowMarginComment. +Layout/EmptyComment: + Exclude: + - 'Gemfile' + - 'app/models/bs_request_action_accept_info.rb' + - 'app/models/bs_request_action_add_role.rb' + - 'app/models/bs_request_action_change_devel.rb' + - 'app/models/bs_request_action_delete.rb' + - 'app/models/bs_request_action_group.rb' + - 'app/models/bs_request_action_maintenance_incident.rb' + - 'app/models/bs_request_action_maintenance_release.rb' + - 'app/models/bs_request_action_set_bugowner.rb' + - 'config/routes.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines. +Layout/EmptyLineBetweenDefs: + Exclude: + - 'app/presenters/obs_factory/obs_project_presenter.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Layout/EmptyLines: + Exclude: + - 'app/presenters/obs_factory/obs_project_presenter.rb' + +# Offense count: 12 +# 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: + Exclude: + - 'app/models/obs_factory/distribution_strategy_casp.rb' + - 'app/models/obs_factory/distribution_strategy_factory_ppc.rb' + - 'app/models/obs_factory/distribution_strategy_opensuse.rb' + - 'app/models/obs_factory/distribution_strategy_sle12_sp1.rb' + - 'app/models/obs_factory/distribution_strategy_sle15.rb' + - 'app/models/obs_factory/obs_project.rb' + - 'app/models/obs_factory/openqa_api.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/presenters/obs_factory/obs_project_presenter.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines +Layout/EmptyLinesAroundModuleBody: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/distribution_strategy_casp.rb' + - 'app/models/obs_factory/distribution_strategy_factory_ppc.rb' + - 'app/models/obs_factory/distribution_strategy_opensuse.rb' + - 'app/models/obs_factory/distribution_strategy_sle12_sp1.rb' + - 'app/presenters/obs_factory/obs_project_presenter.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'app/controllers/group_controller.rb' + - 'app/controllers/request_controller.rb' + - 'app/controllers/search_controller.rb' + - 'app/controllers/source_controller.rb' + - 'app/controllers/webui/webui_controller.rb' + - 'app/models/obs_factory/distribution.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + - 'lib/rabbitmq_bus.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'test/functional/maintenance_test.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: Width, IgnoredPatterns. +Layout/IndentationWidth: + Exclude: + - 'app/controllers/request_controller.rb' + - 'app/helpers/webui/obs_factory/application_helper.rb' + - 'lib/rabbitmq_bus.rb' + +# Offense count: 19 +# Cop supports --auto-correct. +Layout/LeadingBlankLines: + Enabled: false + +# Offense count: 4 +# Cop supports --auto-correct. +Layout/SpaceAfterComma: + Exclude: + - 'app/controllers/webui/obs_factory/staging_projects_controller.rb' + - 'app/models/obs_factory/distribution.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Layout/SpaceAfterNot: + Exclude: + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceAroundEqualsInParameterDefault: + Exclude: + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 30 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment. +Layout/SpaceAroundOperators: + Exclude: + - 'lib/xpath_engine.rb' + - 'spec/controllers/webui/project_controller_spec.rb' + - 'spec/controllers/webui/search_controller_spec.rb' + - 'spec/features/webui/packages_spec.rb' + - 'spec/models/kiwi/image_spec.rb' + - 'test/functional/attributes_test.rb' + - 'test/functional/group_request_test.rb' + - 'test/functional/request_controller_test.rb' + - 'test/functional/search_controller_test.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 10 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/obs_factory/request.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/openqa_job.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceInsideParens: + Exclude: + - 'app/models/obs_factory/distribution_strategy_casp.rb' + +# Offense count: 23 +# Cop supports --auto-correct. +# Configuration parameters: IndentationWidth. +Layout/Tab: + Exclude: + - 'db/migrate/20170123115500_remove_duplicate_indexes.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Exclude: + - 'app/models/obs_factory/distribution_strategy_sle12_sp1.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 1 +# Configuration parameters: AllowSafeAssignment. +Lint/AssignmentInCondition: + Exclude: + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 3 +Lint/DuplicateMethods: + Exclude: + - 'app/models/history_element.rb' + - 'lib/activexml/node.rb' + +# Offense count: 22 +Lint/HandleExceptions: + Enabled: false + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: runtime_error, standard_error +Lint/InheritException: + Exclude: + - 'app/models/obs_factory/distribution.rb' + +# Offense count: 9 +# Configuration parameters: MaximumRangeSize. +Lint/MissingCopEnableDirective: + Exclude: + - 'spec/controllers/webui/package_controller_spec.rb' + - 'test/functional/channel_maintenance_test.rb' + - 'test/functional/kgraft_maintenance_test.rb' + - 'test/functional/maintenance_test.rb' + - 'test/functional/request_controller_test.rb' + +# Offense count: 7 +Lint/NonLocalExitFromIterator: + Exclude: + - 'app/controllers/build_controller.rb' + - 'app/controllers/configurations_controller.rb' + - 'app/controllers/webui/patchinfo_controller.rb' + - 'app/models/bs_request.rb' + - 'app/models/patchinfo.rb' + - 'app/models/relationship.rb' + +# Offense count: 5 +Lint/RescueException: + Exclude: + - 'app/controllers/person_controller.rb' + - 'app/controllers/public_controller.rb' + - 'app/models/user_ldap_strategy.rb' + - 'config/environment.rb' + - 'lib/tasks/extract.rake' + +# Offense count: 1 +Lint/ShadowedException: + Exclude: + - 'lib/activexml/transport.rb' + +# Offense count: 18 +# Cop supports --auto-correct. +Lint/UnneededCopDisableDirective: + Exclude: + - 'app/controllers/source_controller.rb' + - 'app/helpers/maintenance_helper.rb' + - 'app/mixins/has_attributes.rb' + - 'app/models/bs_request_permission_check.rb' + - 'app/models/package.rb' + - 'config/environments/development.rb' + - 'config/environments/test.rb' + - 'db/migrate/001_initial_database.rb' + - 'db/migrate/20140908125426_convert_request_history.rb' + - 'db/migrate/20170123115500_remove_duplicate_indexes.rb' + - 'test/functional/binary_release_test.rb' + - 'test/functional/kgraft_maintenance_test.rb' + - 'test/functional/product_test.rb' + - 'test/functional/read_permission_test.rb' + - 'test/functional/zzz_post_consistency_test.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Lint/UnneededCopEnableDirective: + Exclude: + - 'test/unit/schema_test.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. +Lint/UnusedBlockArgument: + Exclude: + - 'app/controllers/webui/obs_factory/application_controller.rb' + +# Offense count: 40 +Lint/UriEscapeUnescape: + Enabled: false + +# Offense count: 4 +Lint/UselessAssignment: + Exclude: + - 'app/models/obs_factory/distribution_strategy_casp.rb' + - 'app/models/obs_factory/distribution_strategy_factory.rb' + - 'app/models/obs_factory/distribution_strategy_opensuse.rb' + +# Offense count: 911 +Metrics/AbcSize: + Max: 239 + +# Offense count: 483 +# Configuration parameters: CountComments, ExcludedMethods. +Metrics/BlockLength: + Max: 505 + +# Offense count: 26 +# Configuration parameters: CountBlocks. +Metrics/BlockNesting: + Max: 6 + +# Offense count: 93 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 1097 + +# Offense count: 251 +Metrics/CyclomaticComplexity: + Max: 55 + +# Offense count: 965 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 264 + +# Offense count: 7 +# Configuration parameters: CountComments. +Metrics/ModuleLength: + Max: 352 + +# Offense count: 19 +# Configuration parameters: CountKeywordArgs. +Metrics/ParameterLists: + Max: 9 + +# Offense count: 213 +Metrics/PerceivedComplexity: + Max: 55 + +# Offense count: 14 +Naming/AccessorMethodName: + Exclude: + - 'app/controllers/application_controller.rb' + - 'app/controllers/person_controller.rb' + - 'app/controllers/source_controller.rb' + - 'app/controllers/statistics_controller.rb' + - 'app/controllers/webui/patchinfo_controller.rb' + - 'app/models/bs_request.rb' + - 'app/models/bs_request_action.rb' + - 'app/models/bs_request_action_maintenance_release.rb' + - 'app/models/group.rb' + - 'app/models/issue_tracker.rb' + - 'app/models/package.rb' + - 'app/models/user.rb' + - 'test/functional/search_controller_test.rb' + +# Offense count: 2 +Naming/BinaryOperatorParameterName: + Exclude: + - 'app/models/obs_factory/request.rb' + +# Offense count: 1 +Naming/ConstantName: + Exclude: + - 'test/unit/issue_test.rb' + +# Offense count: 26 +# Configuration parameters: Blacklist. +# Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$)) +Naming/HeredocDelimiterNaming: + Exclude: + - 'db/seeds.rb' + - 'spec/controllers/webui/package_controller_spec.rb' + - 'spec/helpers/webui/flash_helper_spec.rb' + - 'spec/models/project/update_from_xml_command_spec.rb' + - 'test/functional/issue_trackers_controller_test.rb' + - 'test/functional/source_controller_test.rb' + - 'test/unit/project_test.rb' + - 'test/unit/validator_test.rb' + +# Offense count: 3 +Naming/MemoizedInstanceVariableName: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'lib/activexml/transport.rb' + - 'lib/authenticator.rb' + +# Offense count: 12 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: snake_case, camelCase +Naming/MethodName: + Exclude: + - 'app/controllers/source_controller.rb' + - 'app/models/maintenance_incident.rb' + - 'app/models/product.rb' + - 'app/models/service.rb' + - 'test/functional/maintenance_test.rb' + - 'test/functional/search_controller_test.rb' + - 'test/test_helper.rb' + +# Offense count: 55 +# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros. +# NamePrefix: is_, has_, have_ +# NamePrefixBlacklist: is_, has_, have_ +# NameWhitelist: is_a? +# MethodDefinitionMacros: define_method, define_singleton_method +Naming/PredicateName: + Exclude: + - 'spec/**/*' + - 'app/helpers/webui/webui_helper.rb' + - 'app/models/bs_request.rb' + - 'app/models/bs_request_action.rb' + - 'app/models/bs_request_action_maintenance_incident.rb' + - 'app/models/bs_request_action_maintenance_release.rb' + - 'app/models/bs_request_action_submit.rb' + - 'app/models/channel.rb' + - 'app/models/flag.rb' + - 'app/models/package.rb' + - 'app/models/patchinfo.rb' + - 'app/models/project.rb' + - 'app/models/repository.rb' + - 'app/models/user.rb' + - 'app/models/user_ldap_strategy.rb' + - 'lib/activexml/node.rb' + +# Offense count: 62 +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: io, id, to, by, on, in, at +Naming/UncommunicativeMethodParamName: + Enabled: false + +# Offense count: 3 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: snake_case, normalcase, non_integer +Naming/VariableNumber: + Exclude: + - 'spec/features/webui/projects_spec.rb' + - 'test/unit/project_test.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Performance/InefficientHashSearch: + Exclude: + - 'app/models/user.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Performance/RegexpMatch: + Exclude: + - 'app/models/obs_factory/distribution_strategy_factory.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 50 +RSpec/AnyInstance: + Enabled: false + +# Offense count: 2 +RSpec/BeforeAfterAll: + Exclude: + - 'spec/spec_helper.rb' + - 'spec/rails_helper.rb' + - 'spec/support/**/*.rb' + - 'spec/models/relationship_spec.rb' + +# Offense count: 478 +# Configuration parameters: Prefixes. +# Prefixes: when, with, without +RSpec/ContextWording: + Enabled: false + +# Offense count: 5 +RSpec/DescribeClass: + Exclude: + - 'spec/routing/api_matcher_spec.rb' + - 'spec/routing/source/key_info_spec.rb' + - 'spec/routing/webui/projects/public_key_spec.rb' + - 'spec/routing/webui/projects/ssl_certificate_spec.rb' + - 'spec/routing/webui_matcher_spec.rb' + +# Offense count: 176 +# Configuration parameters: SkipBlocks, EnforcedStyle. +# SupportedStyles: described_class, explicit +RSpec/DescribedClass: + Enabled: false + +# Offense count: 55 +RSpec/EmptyLineAfterFinalLet: + Enabled: false + +# Offense count: 15 +RSpec/EmptyLineAfterSubject: + Exclude: + - 'spec/controllers/webui/user_controller_spec.rb' + - 'spec/models/backend_info_spec.rb' + - 'spec/models/bs_request/find_for/user_spec.rb' + - 'spec/models/bs_request_spec.rb' + - 'spec/models/download_repository_spec.rb' + - 'spec/models/review_spec.rb' + - 'spec/support/shared_examples/features/flags_tables.rb' + +# Offense count: 159 +# Configuration parameters: Max. +RSpec/ExampleLength: + Enabled: false + +# Offense count: 18 +# Configuration parameters: CustomTransform, IgnoredWords. +RSpec/ExampleWording: + Exclude: + - 'spec/controllers/webui/comments_controller_spec.rb' + - 'spec/controllers/webui/packages/build_reason_controller_spec.rb' + - 'spec/controllers/webui/packages/job_history_controller_spec.rb' + - 'spec/controllers/webui/repositories_controller_spec.rb' + - 'spec/jobs/update_package_meta_job_spec.rb' + - 'spec/models/backend/file_spec.rb' + - 'spec/models/branch_package_spec.rb' + - 'spec/models/comment_spec.rb' + - 'spec/models/project/update_from_xml_command_spec.rb' + +# Offense count: 8 +RSpec/ExpectActual: + Exclude: + - 'spec/routing/**/*' + - 'spec/controllers/webui/webui_controller_spec.rb' + - 'spec/helpers/webui/webui_helper_spec.rb' + - 'spec/script/db_checker.rb' + +# Offense count: 4 +RSpec/ExpectInHook: + Exclude: + - 'spec/controllers/webui/project_controller_spec.rb' + - 'spec/features/webui/projects_spec.rb' + +# Offense count: 10 +# Configuration parameters: CustomTransform, IgnoreMethods. +RSpec/FilePath: + Exclude: + - 'spec/controllers/webui/attributes_controller_spec.rb' + - 'spec/controllers/webui/cloud/ec2/upload_job/logs_controller_spec.rb' + - 'spec/controllers/webui/users/rss_token_controller_spec.rb' + - 'spec/decorators/statistics/maintenance_statistic_decorator.rb' + - 'spec/helpers/webui/build_result_helper.rb' + - 'spec/jobs/bs_request_action_webui_infos_job.rb' + - 'spec/jobs/project_log_rotate_job_spec.rb' + - 'spec/models/event/comment_spec.rb' + - 'spec/models/image_template_spec.rb' + - 'spec/script/db_checker.rb' + +# Offense count: 7 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Exclude: + - 'spec/models/branch_package_spec.rb' + - 'spec/models/group_spec.rb' + - 'spec/rails_helper.rb' + - 'spec/support/database_cleaner.rb' + +# Offense count: 13 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: is_expected, should +RSpec/ImplicitExpect: + Exclude: + - 'spec/controllers/webui/download_on_demand_controller_spec.rb' + - 'spec/models/bs_request_action_spec.rb' + - 'spec/models/project_spec.rb' + - 'spec/models/repository_spec.rb' + - 'spec/models/review_spec.rb' + +# Offense count: 83 +# Configuration parameters: AssignmentOnly. +RSpec/InstanceVariable: + Exclude: + - 'spec/controllers/public_controller_spec.rb' + - 'spec/controllers/webui/monitor_controller_spec.rb' + - 'spec/controllers/webui/patchinfo_controller_spec.rb' + - 'spec/controllers/webui/project_controller_spec.rb' + - 'spec/controllers/webui/request_controller_spec.rb' + - 'spec/controllers/webui/users/rss_token_controller_spec.rb' + - 'spec/helpers/webui/patchinfo_helper_spec.rb' + - 'spec/helpers/webui/webui_helper_spec.rb' + - 'spec/models/backend/file_spec.rb' + - 'spec/models/bs_request_spec.rb' + - 'spec/models/group_spec.rb' + - 'spec/models/image_template_spec.rb' + - 'spec/models/project/update_from_xml_command_spec.rb' + - 'spec/models/relationship_spec.rb' + - 'spec/models/review_spec.rb' + +# Offense count: 63 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: it_behaves_like, it_should_behave_like +RSpec/ItBehavesLike: + Exclude: + - 'spec/controllers/person_controller_spec.rb' + - 'spec/controllers/webui/package_controller_spec.rb' + - 'spec/controllers/webui/project_controller_spec.rb' + - 'spec/controllers/webui/user_controller_spec.rb' + - 'spec/helpers/webui/package_helper_spec.rb' + - 'spec/models/bs_request_action_spec.rb' + - 'spec/models/bs_request_spec.rb' + - 'spec/models/project_status/pack_info_spec.rb' + - 'spec/models/review_spec.rb' + - 'spec/models/user_ldap_strategy_spec.rb' + +# Offense count: 2 +RSpec/IteratedExpectation: + Exclude: + - 'spec/models/user_spec.rb' + - 'spec/script/db_checker.rb' + +# Offense count: 153 +RSpec/LeadingSubject: + Enabled: false + +# Offense count: 237 +RSpec/LetSetup: + Enabled: false + +# Offense count: 5 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + Exclude: + - 'spec/controllers/webui/apidocs_controller_spec.rb' + - 'spec/controllers/webui/project_controller_spec.rb' + - 'spec/helpers/validation_helper_spec.rb' + - 'spec/models/kiwi/image_spec.rb' + +# Offense count: 293 +# Configuration parameters: AggregateFailuresByDefault. +RSpec/MultipleExpectations: + Max: 15 + +# Offense count: 523 +RSpec/NamedSubject: + Enabled: false + +# Offense count: 279 +RSpec/NestedGroups: + Max: 7 + +# Offense count: 48 +# Configuration parameters: Strict, EnforcedStyle. +# SupportedStyles: inflected, explicit +RSpec/PredicateMatcher: + Exclude: + - 'spec/controllers/webui/request_controller_spec.rb' + - 'spec/models/attrib_value_spec.rb' + - 'spec/models/backend/file_spec.rb' + - 'spec/models/cloud/backend/upload_job_spec.rb' + - 'spec/models/cloud/upload_job_spec.rb' + - 'spec/models/event_subscription/generate_hash_for_subscriber_spec.rb' + - 'spec/models/kiwi/image_spec.rb' + - 'spec/models/project_spec.rb' + - 'spec/models/review_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 4 +RSpec/RepeatedDescription: + Exclude: + - 'spec/features/webui/projects_spec.rb' + - 'spec/models/kiwi/repository_spec.rb' + +# Offense count: 6 +RSpec/RepeatedExample: + Exclude: + - 'spec/lib/backend/connection_helper_spec.rb' + - 'spec/models/bs_request/find_for/user_spec.rb' + - 'spec/models/kiwi/image_spec.rb' + +# Offense count: 2 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: and_return, block +RSpec/ReturnFromStub: + Exclude: + - 'spec/controllers/webui/project_controller_spec.rb' + +# Offense count: 9 +RSpec/ScatteredLet: + Exclude: + - 'spec/controllers/webui/patchinfo_controller_spec.rb' + - 'spec/controllers/webui/subscriptions_controller_spec.rb' + - 'spec/models/bs_request_spec.rb' + - 'spec/models/package_spec.rb' + - 'spec/models/project_spec.rb' + +# Offense count: 4 +RSpec/ScatteredSetup: + Exclude: + - 'spec/controllers/webui/cloud/upload_jobs_controller_spec.rb' + - 'spec/jobs/update_released_binaries_job_spec.rb' + +# Offense count: 1 +RSpec/SubjectStub: + Exclude: + - 'spec/models/kiwi/image_spec.rb' + +# Offense count: 34 +# Configuration parameters: IgnoreSymbolicNames. +RSpec/VerifiedDoubles: + Exclude: + - 'spec/decorators/statistics/maintenance_statistic_decorator.rb' + - 'spec/features/webui/login_spec.rb' + - 'spec/jobs/issue_tracker_fetch_issues_job_spec.rb' + - 'spec/jobs/issue_tracker_update_issues_job_spec.rb' + - 'spec/lib/authenticator_spec.rb' + - 'spec/lib/backend/connection_helper_spec.rb' + - 'spec/mixins/build_log_support_spec.rb' + - 'spec/mixins/parse_package_diff_spec.rb' + - 'spec/models/issue_tracker_spec.rb' + - 'spec/models/user_ldap_strategy_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/support/shared_contexts/a_kerberos_mock.rb' + - 'spec/support/shared_contexts/setup_ldap_mock.rb' + - 'spec/support/shared_examples/a_ldap_connection.rb' + +# Offense count: 26 +# Cop supports --auto-correct. +Rails/ActiveRecordAliases: + Enabled: false + +# Offense count: 26 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: **/test/**/* +Rails/AssertNot: + Exclude: + - 'test/functional/request_controller_test.rb' + - 'test/functional/search_controller_test.rb' + - 'test/test_helper.rb' + - 'test/unit/bs_request_test.rb' + - 'test/unit/package_test.rb' + - 'test/unit/project_test.rb' + - 'test/unit/role_test.rb' + - 'test/unit/user_test.rb' + +# Offense count: 87 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/CreateTableWithTimestamps: + Exclude: + - 'db/migrate/001_initial_database.rb' + - 'db/migrate/20140624101042_add_package_tracking.rb' + - 'db/migrate/20140627071042_product_media_tracking.rb' + - 'db/migrate/20140819071042_group_maintainer.rb' + - 'db/migrate/20140916135426_project_maintains.rb' + - 'db/migrate/20141110105426_fix_product_media_uniq_index.rb' + - 'db/migrate/20150625105426_multiple_incident_counters.rb' + - 'db/migrate/20150807105426_new_dod_table.rb' + - 'db/migrate/20160321105300_request_counter.rb' + - 'db/migrate/20171030143054_create_kiwi_preference_types.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforceForPrefixed. +Rails/Delegate: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/obs_project.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 85 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: slashes, arguments +Rails/FilePath: + Enabled: false + +# Offense count: 22 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/HasManyOrHasOneDependent: + Exclude: + - 'app/models/architecture.rb' + - 'app/models/attrib.rb' + - 'app/models/package.rb' + - 'app/models/project.rb' + - 'app/models/repository.rb' + - 'app/models/review.rb' + - 'app/models/static_permission.rb' + - 'app/models/user.rb' + +# Offense count: 59 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Enabled: false + +# Offense count: 13 +# Configuration parameters: Include. +# Include: app/controllers/**/*.rb +Rails/LexicallyScopedActionFilter: + Exclude: + - 'app/controllers/issues_controller.rb' + - 'app/controllers/statistics_controller.rb' + - 'app/controllers/webui/monitor_controller.rb' + - 'app/controllers/webui/package_controller.rb' + - 'app/controllers/webui/patchinfo_controller.rb' + - 'app/controllers/webui/project_controller.rb' + - 'app/controllers/webui/user_controller.rb' + +# Offense count: 31 +Rails/OutputSafety: + Exclude: + - 'app/helpers/comment_helper.rb' + - 'app/helpers/webui/package_helper.rb' + - 'app/helpers/webui/project_helper.rb' + - 'app/helpers/webui/request_helper.rb' + - 'app/helpers/webui/webui_helper.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +Rails/Presence: + Exclude: + - 'app/helpers/webui/package_helper.rb' + - 'app/models/kiwi/image/xml_parser.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank. +Rails/Present: + Exclude: + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: Include. +# Include: **/test/**/* +Rails/RefuteMethods: + Exclude: + - 'test/models/project_log_entry_test.rb' + +# Offense count: 8 +# Configuration parameters: Include. +# Include: db/migrate/*.rb +Rails/ReversibleMigration: + Exclude: + - 'db/migrate/20140210114542_remove_project_and_package_from_subscription.rb' + - 'db/migrate/20140516182719_fix_configuration_register_enum.rb' + - 'db/migrate/20160824132643_fix_bs_request_counter.rb' + - 'db/migrate/20170103132257_change_project_package_name_to_string.rb' + +# Offense count: 6 +# Configuration parameters: Blacklist. +# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters +Rails/SkipsModelValidations: + Exclude: + - 'db/migrate/20151030130011_mark_events.rb' + - 'db/migrate/20161128115942_add_when_attribute_to_bs_request.rb' + - 'db/migrate/20170621100321_add_channel_to_event_subscriptions.rb' + - 'db/migrate/20170630144825_convert_tokens_to_service_tokens.rb' + - 'spec/models/bs_request_action_spec.rb' + - 'spec/models/review_spec.rb' + +# Offense count: 98 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, flexible +Rails/TimeZone: + Enabled: false + +# Offense count: 2 +Security/Open: + Exclude: + - 'app/models/obs_factory/distribution_strategy_factory.rb' + - 'app/models/obs_factory/distribution_strategy_opensuse.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Security/YAMLLoad: + Exclude: + - 'app/controllers/webui/obs_factory/staging_projects_controller.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 28 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: inline, group +Style/AccessModifierDeclarations: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: prefer_alias, prefer_alias_method +Style/Alias: + Exclude: + - 'app/models/attrib.rb' + - 'app/models/cloud/backend/upload_job.rb' + - 'app/models/role.rb' + - 'test/test_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, conditionals +Style/AndOr: + Exclude: + - 'app/models/obs_factory/openqa_api.rb' + +# Offense count: 72 +# Cop supports --auto-correct. +# Configuration parameters: AutoCorrect, EnforcedStyle. +# SupportedStyles: nested, compact +Style/ClassAndModuleChildren: + Enabled: false + +# Offense count: 36 +Style/ClassVars: + Exclude: + - 'app/controllers/test_controller.rb' + - 'app/models/issue_tracker.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/user.rb' + - 'app/models/user_ldap_strategy.rb' + - 'lib/activexml/node.rb' + - 'lib/activexml/transport.rb' + - 'test/functional/branch_publish_flag_test.rb' + - 'test/test_helper.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowInnerBackticks. +# SupportedStyles: backticks, percent_x, mixed +Style/CommandLiteral: + Exclude: + - 'config/initializers/git.rb' + - 'lib/memory_debugger.rb' + - 'lib/tasks/databases.rake' + - 'script/delayed_job_monitor.rb' + - 'script/import_database.rb' + - 'script/start_test_backend' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: Keywords. +# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW +Style/CommentAnnotation: + Exclude: + - 'test/functional/request_controller_test.rb' + +# Offense count: 6 +Style/CommentedKeyword: + Exclude: + - 'app/models/bs_request_action.rb' + - 'test/functional/source_controller_test.rb' + - 'test/unit/user_ldap_strategy_test.rb' + - 'test/unit/user_test.rb' + +# Offense count: 92 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. +# SupportedStyles: assign_to_condition, assign_inside_condition +Style/ConditionalAssignment: + Enabled: false + +# Offense count: 17 +Style/DateTime: + Exclude: + - 'app/controllers/request_controller.rb' + - 'app/jobs/project_create_auto_cleanup_requests.rb' + - 'app/models/branch_package.rb' + - 'app/models/bs_request.rb' + - 'spec/features/webui/requests_spec.rb' + - 'test/functional/maintenance_test.rb' + +# Offense count: 599 +Style/Documentation: + Enabled: false + +# Offense count: 1 +Style/DoubleNegation: + Exclude: + - 'app/models/obs_factory/openqa_job.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty, nil, both +Style/EmptyElse: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +Style/EmptyLiteral: + Exclude: + - 'app/models/obs_factory/openqa_api.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +Style/ExpandPathArguments: + Exclude: + - 'bin/bundle' + - 'spec/rails_helper.rb' + - 'test/test_helper.rb' + +# Offense count: 11 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: each, for +Style/For: + Exclude: + - 'app/models/bs_request_action_maintenance_release.rb' + - 'app/models/project.rb' + - 'app/views/webui/feeds/news.rss.builder' + - 'db/attribute_descriptions.rb' + - 'test/functional/attributes_test.rb' + - 'test/unit/build_flag_test.rb' + - 'test/unit/debug_flag_test.rb' + - 'test/unit/publish_flag_test.rb' + +# Offense count: 2 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: annotated, template, unannotated +Style/FormatStringToken: + Exclude: + - 'app/helpers/webui/project_helper.rb' + - 'lib/backend/connection_helper.rb' + +# Offense count: 1018 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: when_needed, always, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 8 +# Configuration parameters: MinBodyLength. +Style/GuardClause: + Exclude: + - 'app/controllers/webui/obs_factory/distributions_controller.rb' + - 'app/controllers/webui/obs_factory/staging_projects_controller.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +Style/HashSyntax: + Exclude: + - 'app/models/obs_factory/request.rb' + +# Offense count: 6 +Style/IdenticalConditionalBranches: + Exclude: + - 'app/controllers/build_controller.rb' + - 'app/controllers/webui/search_controller.rb' + +# Offense count: 307 +# Cop supports --auto-correct. +Style/IfUnlessModifier: + Enabled: false + +# Offense count: 14 +# Cop supports --auto-correct. +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'app/controllers/webui/obs_factory/staging_projects_controller.rb' + - 'app/controllers/webui/project_controller.rb' + - 'app/mixins/has_attributes.rb' + - 'app/models/bs_request.rb' + - 'app/models/bs_request_action_submit.rb' + - 'app/models/bs_request_permission_check.rb' + - 'app/models/obs_factory/staging_project.rb' + - 'app/models/package.rb' + - 'app/models/project.rb' + - 'app/views/source/_common_issues.xml.builder' + - 'test/functional/request_events_test.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IgnoredMethods. +Style/MethodCallWithoutArgsParentheses: + Exclude: + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 1 +Style/MethodMissingSuper: + Exclude: + - 'lib/opensuse/permission.rb' + +# Offense count: 2 +Style/MissingRespondToMissing: + Exclude: + - 'app/models/configuration.rb' + - 'lib/opensuse/permission.rb' + +# Offense count: 7 +Style/MixinUsage: + Exclude: + - 'app/controllers/request_controller.rb' + - 'app/controllers/source_controller.rb' + - 'app/helpers/maintenance_helper.rb' + - 'app/models/bs_request.rb' + - 'script/start_test_backend' + - 'spec/helpers/webui/search_helper_spec.rb' + +# Offense count: 5 +Style/MultipleComparison: + Exclude: + - 'app/helpers/flag_helper.rb' + - 'app/models/bs_request.rb' + - 'lib/memory_debugger.rb' + - 'lib/tasks/extract.rake' + - 'script/reformat_memprof' + +# Offense count: 7 +# Cop supports --auto-correct. +Style/MutableConstant: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/request.rb' + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, MinBodyLength. +# SupportedStyles: skip_modifier_ifs, always +Style/Next: + Exclude: + - 'app/models/obs_factory/staging_project.rb' + +# Offense count: 6 +# Cop supports --auto-correct. +# Configuration parameters: Strict. +Style/NumericLiterals: + MinDigits: 6 + +# Offense count: 45 +# Cop supports --auto-correct. +# Configuration parameters: AutoCorrect, EnforcedStyle. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Enabled: false + +# Offense count: 20 +# Cop supports --auto-correct. +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/obs_project.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/obs_factory/request.rb' + - 'app/models/obs_factory/staging_project.rb' + - 'app/presenters/obs_factory/obs_project_presenter.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 11 +# Cop supports --auto-correct. +Style/RedundantBegin: + Exclude: + - 'app/controllers/public_controller.rb' + - 'app/controllers/webui/package_controller.rb' + - 'app/jobs/accept_requests.rb' + - 'app/jobs/consistency_check_job.rb' + - 'app/mixins/build_log_support.rb' + - 'app/models/distribution.rb' + - 'app/models/obs_factory/distribution.rb' + - 'app/models/package.rb' + - 'app/models/project.rb' + - 'db/checker.rb' + - 'script/start_test_backend' + +# Offense count: 32 +# Cop supports --auto-correct. +# Configuration parameters: AllowMultipleReturnValues. +Style/RedundantReturn: + Enabled: false + +# Offense count: 6 +# Cop supports --auto-correct. +Style/RedundantSelf: + Exclude: + - 'app/presenters/obs_factory/obs_project_presenter.rb' + +# Offense count: 92 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed +Style/RegexpLiteral: + Enabled: false + +# Offense count: 3 +# Cop supports --auto-correct. +Style/RescueModifier: + Exclude: + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/obs_factory/request.rb' + +# Offense count: 26 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Enabled: false + +# Offense count: 73 +# Cop supports --auto-correct. +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist. +# Whitelist: present?, blank?, presence, try, try! +Style/SafeNavigation: + Enabled: false + +# Offense count: 23 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'app/controllers/webui/obs_factory/application_controller.rb' + - 'app/models/obs_factory/distribution.rb' + - 'app/models/obs_factory/distribution_strategy_factory_ppc.rb' + - 'app/models/obs_factory/openqa_api.rb' + - 'app/models/obs_factory/openqa_job.rb' + - 'app/models/obs_factory/request.rb' + - 'app/models/obs_factory/staging_project.rb' + - 'app/presenters/obs_factory/staging_project_presenter.rb' + - 'config/initializers/inflector.rb' + +# Offense count: 298 +# Cop supports --auto-correct. +# Configuration parameters: MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + EnforcedStyle: brackets + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: IgnoredMethods. +# IgnoredMethods: respond_to, define_method +Style/SymbolProc: + Exclude: + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist. +# Whitelist: 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: + - 'lib/activexml/node.rb' + - 'test/test_helper.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/UnlessElse: + Exclude: + - 'app/models/obs_factory/openqa_job.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/UnneededCondition: + Exclude: + - 'app/models/binary_release.rb' + - 'script/import_database.rb' + +# Offense count: 233 +# Cop supports --auto-correct. +# Configuration parameters: WordRegex. +# SupportedStyles: percent, brackets +Style/WordArray: + EnforcedStyle: percent + MinSize: 39 + +# Offense count: 1 +# Cop supports --auto-correct. +Style/ZeroLengthPredicate: + Exclude: + - 'app/presenters/obs_factory/staging_project_presenter.rb' + +# Offense count: 7660 +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https +Metrics/LineLength: + Max: 187