summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml8
-rw-r--r--.rubocop_todo.yml655
-rw-r--r--Gemfile4
-rw-r--r--Gemfile.lock8
4 files changed, 534 insertions, 141 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e0e780e1e6b..68690ff33da 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -233,7 +233,13 @@ spinach 9 10 ruby21: *spinach-knapsack-ruby21
script:
- bundle exec $CI_BUILD_NAME
-rubocop: *exec
+rubocop:
+ <<: *ruby-static-analysis
+ <<: *dedicated-runner
+ stage: test
+ script:
+ - bundle exec "rubocop --require rubocop-rspec"
+
rake haml_lint: *exec
rake scss_lint: *exec
rake brakeman: *exec
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index 11b34fafa2a..2434e8c4b42 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -1,65 +1,106 @@
# This configuration was generated by
-# `rubocop --auto-gen-config --exclude-limit 0`
-# on 2016-10-04 13:16:20 +0200 using RuboCop version 0.43.0.
+# `rubocop --auto-gen-config`
+# on 2017-01-05 14:31:09 -0800 using RuboCop version 0.46.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
-# Offense count: 160
+# Offense count: 28
+# Configuration parameters: Include.
+# Include: **/Gemfile, **/gems.rb
+Bundler/OrderedGems:
+ Exclude:
+ - 'Gemfile'
+
+# Offense count: 174
Lint/AmbiguousRegexpLiteral:
Enabled: false
-# Offense count: 40
+# Offense count: 53
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Enabled: false
-# Offense count: 18
+# Offense count: 1
+Lint/EmptyWhen:
+ Exclude:
+ - 'lib/gitlab/diff/parser.rb'
+
+# Offense count: 20
Lint/HandleExceptions:
Enabled: false
-# Offense count: 2
+# Offense count: 1
Lint/Loop:
- Enabled: false
+ Exclude:
+ - 'app/mailers/notify.rb'
-# Offense count: 19
+# Offense count: 28
Lint/ShadowingOuterLocalVariable:
Enabled: false
-# Offense count: 9
+# Offense count: 10
# Cop supports --auto-correct.
Lint/UnifiedInteger:
- Enabled: false
+ Exclude:
+ - 'spec/lib/gitlab/metrics/method_call_spec.rb'
+ - 'spec/lib/gitlab/metrics/metric_spec.rb'
+ - 'spec/lib/gitlab/metrics/system_spec.rb'
+ - 'spec/lib/gitlab/metrics/transaction_spec.rb'
+ - 'spec/models/repository_spec.rb'
-# Offense count: 13
+# Offense count: 21
# Cop supports --auto-correct.
Lint/UnneededSplatExpansion:
- Enabled: false
-
-# Offense count: 69
+ Exclude:
+ - 'config/application.rb'
+ - 'lib/banzai/filter/gollum_tags_filter.rb'
+ - 'lib/bitbucket/page.rb'
+ - 'lib/gitlab/markup_helper.rb'
+ - 'spec/helpers/auth_helper_spec.rb'
+ - 'spec/models/project_wiki_spec.rb'
+ - 'spec/requests/api/projects_spec.rb'
+ - 'spec/requests/api/tags_spec.rb'
+ - 'spec/support/seed_helper.rb'
+ - 'spec/support/test_env.rb'
+
+# Offense count: 82
# Cop supports --auto-correct.
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
Lint/UnusedBlockArgument:
Enabled: false
-# Offense count: 144
+# Offense count: 173
# Cop supports --auto-correct.
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
Lint/UnusedMethodArgument:
Enabled: false
-# Offense count: 2
+# Offense count: 94
+# Configuration parameters: CountComments.
+Metrics/BlockLength:
+ Max: 289
+
+# Offense count: 3
# Cop supports --auto-correct.
Performance/RedundantBlockCall:
- Enabled: false
+ Exclude:
+ - 'app/controllers/application_controller.rb'
+ - 'lib/gitlab/backend/shell.rb'
+ - 'lib/gitlab/optimistic_locking.rb'
# Offense count: 5
# Cop supports --auto-correct.
Performance/RedundantMatch:
- Enabled: false
+ Exclude:
+ - 'app/models/external_issue.rb'
+ - 'lib/ci/api/helpers.rb'
+ - 'lib/extracts_path.rb'
+ - 'lib/gitlab/diff/highlight.rb'
+ - 'lib/gitlab/diff/parser.rb'
-# Offense count: 26
+# Offense count: 32
# Cop supports --auto-correct.
# Configuration parameters: MaxKeyValuePairs.
Performance/RedundantMerge:
@@ -67,63 +108,127 @@ Performance/RedundantMerge:
# Offense count: 7
RSpec/BeEql:
- Enabled: false
+ Exclude:
+ - 'spec/lib/gitlab/ldap/user_spec.rb'
+ - 'spec/lib/gitlab/o_auth/user_spec.rb'
+ - 'spec/lib/gitlab/saml/user_spec.rb'
-# Offense count: 20
+# Offense count: 15
# Configuration parameters: CustomIncludeMethods.
RSpec/EmptyExampleGroup:
- Enabled: false
+ Exclude:
+ - 'spec/features/issues_spec.rb'
+ - 'spec/features/notes_on_merge_requests_spec.rb'
+ - 'spec/lib/gitlab/git_access_spec.rb'
+ - 'spec/models/project_snippet_spec.rb'
+ - 'spec/models/protected_branch_spec.rb'
+ - 'spec/routing/routing_spec.rb'
-# Offense count: 16
+# Offense count: 24
RSpec/ExpectActual:
- Enabled: false
+ Exclude:
+ - 'spec/lib/gitlab/regex_spec.rb'
-# Offense count: 34
+# Offense count: 58
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: implicit, each, example
RSpec/HookArgument:
Enabled: false
-# Offense count: 168
+# Offense count: 12
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: is_expected, should
+RSpec/ImplicitExpect:
+ Exclude:
+ - 'spec/lib/banzai/renderer_spec.rb'
+ - 'spec/models/project_group_link_spec.rb'
+ - 'spec/models/project_services/external_wiki_service_spec.rb'
+ - 'spec/models/project_spec.rb'
+
+# Offense count: 235
RSpec/LeadingSubject:
Enabled: false
-# Offense count: 162
+# Offense count: 246
RSpec/LetSetup:
Enabled: false
-# Offense count: 10
+# Offense count: 13
RSpec/MessageChain:
- Enabled: false
-
-# Offense count: 714
+ Exclude:
+ - 'spec/finders/move_to_project_finder_spec.rb'
+ - 'spec/helpers/issues_helper_spec.rb'
+ - 'spec/initializers/secret_token_spec.rb'
+ - 'spec/models/build_spec.rb'
+ - 'spec/requests/api/internal_spec.rb'
+ - 'spec/services/merge_requests/build_service_spec.rb'
+ - 'spec/services/notes/create_service_spec.rb'
+ - 'spec/workers/emails_on_push_worker_spec.rb'
+
+# Offense count: 468
# Configuration parameters: EnforcedStyle, SupportedStyles.
-# SupportedStyles: allow, expect
-RSpec/MessageExpectation:
+# SupportedStyles: have_received, receive
+RSpec/MessageSpies:
Enabled: false
-# Offense count: 2423
+# Offense count: 3013
RSpec/MultipleExpectations:
- Max: 36
+ Max: 37
-# Offense count: 1504
+# Offense count: 2072
RSpec/NamedSubject:
Enabled: false
-# Offense count: 1335
+# Offense count: 1949
# Configuration parameters: MaxNesting.
RSpec/NestedGroups:
Enabled: false
-# Offense count: 99
+# Offense count: 32
+RSpec/RepeatedDescription:
+ Exclude:
+ - 'spec/controllers/projects/todo_controller_spec.rb'
+ - 'spec/features/boards/boards_spec.rb'
+ - 'spec/helpers/issuables_helper_spec.rb'
+ - 'spec/lib/banzai/filter/emoji_filter_spec.rb'
+ - 'spec/models/commit_range_spec.rb'
+ - 'spec/models/global_milestone_spec.rb'
+ - 'spec/models/hooks/system_hook_spec.rb'
+ - 'spec/requests/api/commits_spec.rb'
+ - 'spec/requests/api/merge_requests_spec.rb'
+ - 'spec/requests/api/users_spec.rb'
+ - 'spec/requests/lfs_http_spec.rb'
+ - 'spec/routing/admin_routing_spec.rb'
+ - 'spec/services/notification_service_spec.rb'
+
+# Offense count: 1
+RSpec/SingleArgumentMessageChain:
+ Exclude:
+ - 'spec/requests/api/internal_spec.rb'
+
+# Offense count: 125
RSpec/SubjectStub:
Enabled: false
-# Offense count: 64
+# Offense count: 104
+# Cop supports --auto-correct.
+# Configuration parameters: Whitelist.
+# Whitelist: find_by_sql
+Rails/DynamicFindBy:
+ Enabled: false
+
+# Offense count: 929
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: spec/**/*, test/**/*
+Rails/HttpPositionalArguments:
+ Enabled: false
+
+# Offense count: 55
Rails/OutputSafety:
Enabled: false
-# Offense count: 151
+# Offense count: 181
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: strict, flexible
Rails/TimeZone:
@@ -134,35 +239,52 @@ Rails/TimeZone:
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/Validation:
- Enabled: false
+ Exclude:
+ - 'app/models/ci/build.rb'
+ - 'app/models/ci/pipeline.rb'
+ - 'app/models/ci/runner_project.rb'
+ - 'app/models/ci/trigger.rb'
+ - 'app/models/commit_status.rb'
+ - 'app/models/members/group_member.rb'
+ - 'app/models/members/project_member.rb'
+ - 'app/models/project.rb'
+ - 'app/models/protected_branch.rb'
+ - 'app/models/user.rb'
-# Offense count: 2
+# Offense count: 8
# Cop supports --auto-correct.
+# Configuration parameters: AutoCorrect.
Security/JSONLoad:
- Enabled: false
+ Exclude:
+ - 'db/migrate/20161019190736_migrate_sidekiq_queues_from_default.rb'
+ - 'db/migrate/20161024042317_migrate_mailroom_queue_from_default.rb'
+ - 'db/migrate/20161124141322_migrate_process_commit_worker_jobs.rb'
+ - 'spec/migrations/migrate_process_commit_worker_jobs_spec.rb'
+ - 'spec/models/project_services/irker_service_spec.rb'
+ - 'spec/support/stub_gitlab_calls.rb'
-# Offense count: 284
+# Offense count: 339
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: with_first_parameter, with_fixed_indentation
Style/AlignParameters:
Enabled: false
-# Offense count: 28
+# Offense count: 27
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: always, conditionals
Style/AndOr:
Enabled: false
-# Offense count: 52
+# Offense count: 53
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Enabled: false
-# Offense count: 291
+# Offense count: 354
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: braces, no_braces, context_dependent
@@ -171,97 +293,156 @@ Style/BracesAroundHashParameters:
# Offense count: 6
Style/CaseEquality:
- Enabled: false
+ Exclude:
+ - 'app/helpers/auth_helper.rb'
+ - 'app/models/commit.rb'
+ - 'app/models/protected_branch.rb'
+ - 'app/services/projects/download_service.rb'
+ - 'config/initializers/trusted_proxies.rb'
+ - 'spec/features/calendar_spec.rb'
-# Offense count: 26
+# Offense count: 37
# Cop supports --auto-correct.
Style/ColonMethodCall:
Enabled: false
-# Offense count: 2
+# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: Keywords.
# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
Style/CommentAnnotation:
- Enabled: false
+ Exclude:
+ - 'config/routes/user.rb'
+ - 'lib/api/commits.rb'
+ - 'lib/api/entities.rb'
+ - 'spec/requests/api/project_snippets_spec.rb'
-# Offense count: 30
+# Offense count: 29
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
Enabled: false
-# Offense count: 957
+# Offense count: 1210
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: leading, trailing
Style/DotPosition:
Enabled: false
-# Offense count: 13
+# Offense count: 18
Style/DoubleNegation:
- Enabled: false
+ Exclude:
+ - 'app/controllers/users_controller.rb'
+ - 'app/models/commit.rb'
+ - 'app/models/merge_request.rb'
+ - 'app/models/project.rb'
+ - 'app/models/project_services/buildkite_service.rb'
+ - 'app/models/project_services/drone_ci_service.rb'
+ - 'app/models/project_wiki.rb'
+ - 'app/models/user.rb'
+ - 'config/initializers/6_validations.rb'
+ - 'lib/banzai/filter/relative_link_filter.rb'
+ - 'lib/gitlab/git/diff_collection.rb'
+ - 'lib/gitlab/git/repository.rb'
+ - 'lib/gitlab/sherlock.rb'
+ - 'lib/gitlab/sherlock/middleware.rb'
-# Offense count: 6
+# Offense count: 7
# Cop supports --auto-correct.
Style/EachWithObject:
- Enabled: false
+ Exclude:
+ - 'app/controllers/projects/cycle_analytics_controller.rb'
+ - 'app/services/merge_requests/get_urls_service.rb'
+ - 'lib/ci/ansi2html.rb'
+ - 'lib/expand_variables.rb'
+ - 'lib/gitlab/ee_compat_check.rb'
+ - 'lib/gitlab/import_export/members_mapper.rb'
+ - 'lib/gitlab/import_export/relation_factory.rb'
-# Offense count: 26
+# Offense count: 24
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: empty, nil, both
Style/EmptyElse:
Enabled: false
-# Offense count: 3
+# Offense count: 4
# Cop supports --auto-correct.
Style/EmptyLiteral:
+ Exclude:
+ - 'features/steps/project/commits/commits.rb'
+ - 'lib/gitlab/fogbugz_import/importer.rb'
+ - 'lib/gitlab/git/diff_collection.rb'
+ - 'spec/lib/gitlab/workhorse_spec.rb'
+
+# Offense count: 57
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: compact, expanded
+Style/EmptyMethod:
Enabled: false
-# Offense count: 140
+# Offense count: 145
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
Style/ExtraSpacing:
Enabled: false
-# Offense count: 6
+# Offense count: 8
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
- Enabled: false
-
-# Offense count: 201
+ Exclude:
+ - 'app/models/ci/pipeline.rb'
+ - 'app/services/gravatar_service.rb'
+ - 'config/initializers/rack_lineprof.rb'
+ - 'lib/gitlab/version_info.rb'
+ - 'spec/factories/lfs_objects.rb'
+ - 'spec/services/issues/move_service_spec.rb'
+
+# Offense count: 236
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Enabled: false
# Offense count: 11
Style/IfInsideElse:
- Enabled: false
-
-# Offense count: 174
+ Exclude:
+ - 'app/controllers/projects/forks_controller.rb'
+ - 'app/controllers/projects/imports_controller.rb'
+ - 'app/helpers/milestones_helper.rb'
+ - 'app/helpers/projects_helper.rb'
+ - 'app/services/system_note_service.rb'
+ - 'config/initializers/1_settings.rb'
+ - 'lib/gitlab/auth.rb'
+ - 'lib/gitlab/checks/change_access.rb'
+ - 'lib/gitlab/database.rb'
+ - 'spec/controllers/projects/merge_requests_controller_spec.rb'
+ - 'spec/support/import_export/export_file_helper.rb'
+
+# Offense count: 173
# Cop supports --auto-correct.
# Configuration parameters: MaxLineLength.
Style/IfUnlessModifier:
Enabled: false
-# Offense count: 53
+# Offense count: 55
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
Style/IndentArray:
Enabled: false
-# Offense count: 95
+# Offense count: 99
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_braces
Style/IndentHash:
Enabled: false
-# Offense count: 29
+# Offense count: 41
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: line_count_dependent, lambda, literal
@@ -271,18 +452,49 @@ Style/Lambda:
# Offense count: 5
# Cop supports --auto-correct.
Style/LineEndConcatenation:
- Enabled: false
+ Exclude:
+ - 'app/helpers/preferences_helper.rb'
+ - 'app/helpers/tree_helper.rb'
+ - 'app/models/merge_request.rb'
+ - 'spec/lib/gitlab/gfm/reference_rewriter_spec.rb'
-# Offense count: 15
+# Offense count: 19
# Cop supports --auto-correct.
Style/MethodCallParentheses:
- Enabled: false
+ Exclude:
+ - 'lib/ci/ansi2html.rb'
+ - 'spec/controllers/dashboard/todos_controller_spec.rb'
+ - 'spec/controllers/projects/issues_controller_spec.rb'
+ - 'spec/controllers/projects/merge_requests_controller_spec.rb'
+ - 'spec/controllers/projects/snippets_controller_spec.rb'
+ - 'spec/features/calendar_spec.rb'
+ - 'spec/features/dashboard/datetime_on_tooltips_spec.rb'
+ - 'spec/helpers/submodule_helper_spec.rb'
+ - 'spec/lib/gitlab/git/repository_spec.rb'
+ - 'spec/requests/api/internal_spec.rb'
-# Offense count: 8
+# Offense count: 9
Style/MethodMissing:
- Enabled: false
+ Exclude:
+ - 'app/controllers/projects/application_controller.rb'
+ - 'app/models/commit.rb'
+ - 'app/models/network/commit.rb'
+ - 'app/models/repository.rb'
+ - 'config/initializers/gollum.rb'
+ - 'lib/bitbucket/collection.rb'
+ - 'lib/gitlab/github_import/client.rb'
+ - 'lib/gitlab/lazy.rb'
+ - 'lib/uploaded_file.rb'
-# Offense count: 95
+# Offense count: 3
+# Cop supports --auto-correct.
+Style/MultilineIfModifier:
+ Exclude:
+ - 'app/helpers/snippets_helper.rb'
+ - 'app/models/merge_request.rb'
+ - 'app/models/project_wiki.rb'
+
+# Offense count: 178
# Cop supports --auto-correct.
Style/MutableConstant:
Enabled: false
@@ -290,53 +502,95 @@ Style/MutableConstant:
# Offense count: 8
# Cop supports --auto-correct.
Style/NestedParenthesizedCalls:
- Enabled: false
+ Exclude:
+ - 'app/helpers/commits_helper.rb'
+ - 'app/workers/irker_worker.rb'
+ - 'spec/lib/gitlab/ci/build/artifacts/metadata/entry_spec.rb'
+ - 'spec/lib/gitlab/email/message/repository_push_spec.rb'
# Offense count: 13
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
- Enabled: false
+ Exclude:
+ - 'app/models/namespace.rb'
+ - 'app/models/user.rb'
+ - 'config/initializers/secret_token.rb'
+ - 'db/migrate/20161220141214_remove_dot_git_from_group_names.rb'
+ - 'db/migrate/20161226122833_remove_dot_git_from_usernames.rb'
+ - 'lib/banzai/filter/math_filter.rb'
+ - 'lib/banzai/filter/table_of_contents_filter.rb'
+ - 'lib/gitlab/fogbugz_import/importer.rb'
+ - 'lib/gitlab/metrics/instrumentation.rb'
+ - 'lib/gitlab/metrics/sampler.rb'
+ - 'lib/gitlab/project_search_results.rb'
-# Offense count: 12
+# Offense count: 19
# Cop supports --auto-correct.
# Configuration parameters: EnforcedOctalStyle, SupportedOctalStyles.
# SupportedOctalStyles: zero_with_o, zero_only
Style/NumericLiteralPrefix:
- Enabled: false
+ Exclude:
+ - 'config/initializers/1_settings.rb'
+ - 'config/initializers/secret_token.rb'
+ - 'lib/gitlab/backend/shell.rb'
+ - 'lib/gitlab/import_export/command_line_util.rb'
+ - 'lib/gitlab/workhorse.rb'
+ - 'spec/features/projects/import_export/export_file_spec.rb'
+ - 'spec/lib/gitlab/git/blob_spec.rb'
+ - 'spec/lib/gitlab/git/hook_spec.rb'
+ - 'spec/lib/gitlab/git/repository_spec.rb'
+ - 'spec/lib/gitlab/workhorse_spec.rb'
+ - 'spec/support/import_export/export_file_helper.rb'
+ - 'spec/support/test_env.rb'
+ - 'spec/tasks/gitlab/backup_rake_spec.rb'
-# Offense count: 53
+# Offense count: 19
# Cop supports --auto-correct.
-# Configuration parameters: EnforcedStyle, SupportedStyles.
+# Configuration parameters: AutoCorrect, EnforcedStyle, SupportedStyles.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
Enabled: false
-# Offense count: 29
+# Offense count: 34
# Cop supports --auto-correct.
Style/ParallelAssignment:
Enabled: false
-# Offense count: 294
+# Offense count: 416
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Enabled: false
-# Offense count: 11
+# Offense count: 10
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: lower_case_q, upper_case_q
Style/PercentQLiterals:
- Enabled: false
+ Exclude:
+ - 'spec/lib/gitlab/diff/highlight_spec.rb'
+ - 'spec/models/project_services/bamboo_service_spec.rb'
+ - 'spec/models/project_services/teamcity_service_spec.rb'
+ - 'spec/workers/repository_import_worker_spec.rb'
# Offense count: 13
# Cop supports --auto-correct.
Style/PerlBackrefs:
- Enabled: false
-
-# Offense count: 38
+ Exclude:
+ - 'app/controllers/projects/application_controller.rb'
+ - 'app/helpers/submodule_helper.rb'
+ - 'lib/banzai/filter/abstract_reference_filter.rb'
+ - 'lib/banzai/filter/autolink_filter.rb'
+ - 'lib/banzai/filter/emoji_filter.rb'
+ - 'lib/banzai/filter/gollum_tags_filter.rb'
+ - 'lib/expand_variables.rb'
+ - 'lib/gitlab/diff/highlight.rb'
+ - 'lib/gitlab/search_results.rb'
+ - 'lib/gitlab/sherlock/query.rb'
+
+# Offense count: 63
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
# NamePrefix: is_, has_, have_
# NamePrefixBlacklist: is_, has_, have_
@@ -344,17 +598,25 @@ Style/PerlBackrefs:
Style/PredicateName:
Enabled: false
-# Offense count: 26
+# Offense count: 33
# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: short, verbose
Style/PreferredHashMethods:
Enabled: false
-# Offense count: 6
+# Offense count: 8
# Cop supports --auto-correct.
Style/Proc:
- Enabled: false
+ Exclude:
+ - 'app/mailers/base_mailer.rb'
+ - 'app/models/milestone.rb'
+ - 'app/models/service.rb'
+ - 'lib/api/api_guard.rb'
+ - 'lib/gitlab/ldap/config.rb'
+ - 'spec/initializers/trusted_proxies_spec.rb'
-# Offense count: 22
+# Offense count: 50
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: compact, exploded
@@ -364,107 +626,196 @@ Style/RaiseArgs:
# Offense count: 4
# Cop supports --auto-correct.
Style/RedundantBegin:
- Enabled: false
+ Exclude:
+ - 'app/models/ci/build.rb'
+ - 'app/models/merge_request.rb'
+ - 'app/services/projects/import_service.rb'
+ - 'lib/gitlab/git/commit.rb'
# Offense count: 1
# Cop supports --auto-correct.
Style/RedundantException:
- Enabled: false
+ Exclude:
+ - 'app/helpers/preferences_helper.rb'
-# Offense count: 24
+# Offense count: 29
# Cop supports --auto-correct.
Style/RedundantFreeze:
- Enabled: false
+ Exclude:
+ - 'app/models/merge_request.rb'
+ - 'app/validators/color_validator.rb'
+ - 'app/validators/line_code_validator.rb'
+ - 'lib/api/templates.rb'
+ - 'lib/banzai/filter/blockquote_fence_filter.rb'
+ - 'lib/banzai/filter/gollum_tags_filter.rb'
+ - 'lib/banzai/filter/yaml_front_matter_filter.rb'
+ - 'lib/gitlab/diff/inline_diff.rb'
+ - 'lib/gitlab/ee_compat_check.rb'
+ - 'lib/gitlab/import_export/relation_factory.rb'
+ - 'lib/gitlab/incoming_email.rb'
+ - 'lib/gitlab/middleware/static.rb'
+ - 'lib/gitlab/regex.rb'
-# Offense count: 427
+# Offense count: 11
+# Cop supports --auto-correct.
+# Configuration parameters: AllowMultipleReturnValues.
+Style/RedundantReturn:
+ Exclude:
+ - 'app/controllers/concerns/issuable_actions.rb'
+ - 'app/controllers/groups/application_controller.rb'
+ - 'app/controllers/groups_controller.rb'
+ - 'app/controllers/projects/labels_controller.rb'
+ - 'app/controllers/projects/milestones_controller.rb'
+ - 'app/services/access_token_validation_service.rb'
+
+# Offense count: 359
# Cop supports --auto-correct.
Style/RedundantSelf:
Enabled: false
-# Offense count: 97
+# Offense count: 105
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
# SupportedStyles: slashes, percent_r, mixed
Style/RegexpLiteral:
Enabled: false
-# Offense count: 18
+# Offense count: 19
# Cop supports --auto-correct.
Style/RescueModifier:
- Enabled: false
-
-# Offense count: 114
-# Cop supports --auto-correct.
-Style/SafeNavigation:
- Enabled: false
+ Exclude:
+ - 'app/controllers/admin/system_info_controller.rb'
+ - 'app/controllers/users_controller.rb'
+ - 'app/helpers/blob_helper.rb'
+ - 'app/helpers/issues_helper.rb'
+ - 'app/models/diff_note.rb'
+ - 'app/models/project_services/external_wiki_service.rb'
+ - 'app/models/sent_notification.rb'
+ - 'app/models/todo.rb'
+ - 'config/initializers/1_settings.rb'
+ - 'config/initializers/attr_encrypted_no_db_connection.rb'
+ - 'lib/gitlab/current_settings.rb'
+ - 'lib/gitlab/diff/parser.rb'
+ - 'lib/gitlab/kubernetes.rb'
+ - 'lib/gitlab/slash_commands/command_definition.rb'
+ - 'spec/support/matchers/be_url.rb'
# Offense count: 7
# Cop supports --auto-correct.
Style/SelfAssignment:
- Enabled: false
+ Exclude:
+ - 'app/models/project_team.rb'
+ - 'app/services/notification_service.rb'
+ - 'lib/api/runners.rb'
+ - 'spec/features/merge_requests/diff_notes_resolve_spec.rb'
+ - 'spec/support/import_export/configuration_helper.rb'
# Offense count: 2
# Configuration parameters: Methods.
-# Methods: {"reduce"=>["a", "e"]}, {"inject"=>["a", "e"]}
+# Methods: {"reduce"=>["acc", "elem"]}, {"inject"=>["acc", "elem"]}
Style/SingleLineBlockParams:
- Enabled: false
+ Exclude:
+ - 'app/models/commit.rb'
+ - 'spec/support/services_shared_context.rb'
# Offense count: 50
# Cop supports --auto-correct.
# Configuration parameters: AllowIfMethodIsEmpty.
Style/SingleLineMethods:
- Enabled: false
+ Exclude:
+ - 'lib/ci/ansi2html.rb'
-# Offense count: 125
+# Offense count: 140
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: space, no_space
Style/SpaceBeforeBlockBraces:
Enabled: false
-# Offense count: 10
+# Offense count: 8
# Cop supports --auto-correct.
# Configuration parameters: AllowForAlignment.
Style/SpaceBeforeFirstArg:
- Enabled: false
+ Exclude:
+ - 'config/routes/project.rb'
+ - 'features/steps/project/source/browse_files.rb'
+ - 'features/steps/project/source/markdown_render.rb'
+ - 'spec/routing/project_routing_spec.rb'
+ - 'spec/services/system_note_service_spec.rb'
-# Offense count: 145
+# Offense count: 37
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SupportedStyles.
+# SupportedStyles: require_no_space, require_space
+Style/SpaceInLambdaLiteral:
+ Exclude:
+ - 'app/models/concerns/mentionable.rb'
+ - 'app/models/issue.rb'
+ - 'app/models/member.rb'
+ - 'lib/api/entities.rb'
+ - 'lib/file_size_validator.rb'
+ - 'lib/gitlab/visibility_level.rb'
+ - 'spec/models/concerns/participable_spec.rb'
+ - 'spec/models/cycle_analytics/code_spec.rb'
+ - 'spec/models/cycle_analytics/issue_spec.rb'
+ - 'spec/models/cycle_analytics/plan_spec.rb'
+ - 'spec/models/cycle_analytics/production_spec.rb'
+ - 'spec/models/cycle_analytics/review_spec.rb'
+ - 'spec/models/cycle_analytics/staging_spec.rb'
+ - 'spec/models/cycle_analytics/test_spec.rb'
+
+# Offense count: 174
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
# SupportedStyles: space, no_space
Style/SpaceInsideBlockBraces:
Enabled: false
-# Offense count: 99
+# Offense count: 115
# Cop supports --auto-correct.
Style/SpaceInsideBrackets:
Enabled: false
-# Offense count: 65
+# Offense count: 77
# Cop supports --auto-correct.
Style/SpaceInsideParens:
Enabled: false
-# Offense count: 7
+# Offense count: 4
# Cop supports --auto-correct.
Style/SpaceInsidePercentLiteralDelimiters:
- Enabled: false
+ Exclude:
+ - 'lib/gitlab/git_access.rb'
-# Offense count: 41
+# Offense count: 53
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles.
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
EnforcedStyle: use_perl_names
-# Offense count: 31
+# Offense count: 25
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiteralsInInterpolation:
- Enabled: false
+ Exclude:
+ - 'app/helpers/labels_helper.rb'
+ - 'app/helpers/time_helper.rb'
+ - 'app/helpers/todos_helper.rb'
+ - 'app/models/application_setting.rb'
+ - 'app/models/project_services/campfire_service.rb'
+ - 'app/models/project_services/jira_service.rb'
+ - 'db/migrate/20161017125927_add_unique_index_to_labels.rb'
+ - 'features/steps/groups.rb'
+ - 'features/steps/project/merge_requests.rb'
+ - 'lib/banzai/filter/abstract_reference_filter.rb'
+ - 'lib/ci/gitlab_ci_yaml_processor.rb'
+ - 'lib/gitlab/google_code_import/importer.rb'
+ - 'spec/lib/banzai/filter/issue_reference_filter_spec.rb'
+ - 'spec/models/project_services/hipchat_service_spec.rb'
-# Offense count: 33
+# Offense count: 52
# Cop supports --auto-correct.
# Configuration parameters: IgnoredMethods.
# IgnoredMethods: respond_to, define_method
@@ -474,18 +825,23 @@ Style/SymbolProc:
# Offense count: 5
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowSafeAssignment.
-# SupportedStyles: require_parentheses, require_no_parentheses
+# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
Style/TernaryParentheses:
- Enabled: false
+ Exclude:
+ - 'features/support/capybara.rb'
+ - 'lib/api/projects.rb'
+ - 'lib/banzai/filter/table_of_contents_filter.rb'
+ - 'lib/gitlab/ci/build/artifacts/metadata/entry.rb'
+ - 'spec/support/capybara.rb'
-# Offense count: 29
+# Offense count: 35
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
# SupportedStyles: comma, consistent_comma, no_comma
Style/TrailingCommaInArguments:
Enabled: false
-# Offense count: 102
+# Offense count: 149
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline, SupportedStyles.
# SupportedStyles: comma, consistent_comma, no_comma
@@ -496,31 +852,62 @@ Style/TrailingCommaInLiteral:
# Cop supports --auto-correct.
# Configuration parameters: AllowNamedUnderscoreVariables.
Style/TrailingUnderscoreVariable:
- Enabled: false
+ Exclude:
+ - 'app/controllers/admin/background_jobs_controller.rb'
+ - 'app/controllers/invites_controller.rb'
+ - 'app/controllers/projects/git_http_client_controller.rb'
+ - 'app/helpers/tab_helper.rb'
+ - 'lib/gitlab/git/repository.rb'
+ - 'lib/gitlab/logger.rb'
-# Offense count: 76
+# Offense count: 66
# Cop supports --auto-correct.
Style/TrailingWhitespace:
Enabled: false
-# Offense count: 2
+# 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:
- Enabled: false
+ Exclude:
+ - 'app/models/external_issue.rb'
+ - 'app/serializers/base_serializer.rb'
+ - 'lib/gitlab/ldap/person.rb'
# Offense count: 2
# Cop supports --auto-correct.
Style/UnlessElse:
- Enabled: false
+ Exclude:
+ - 'lib/gitlab/project_search_results.rb'
+ - 'spec/features/issues/award_emoji_spec.rb'
-# Offense count: 14
+# Offense count: 17
# Cop supports --auto-correct.
Style/UnneededInterpolation:
- Enabled: false
+ Exclude:
+ - 'app/helpers/boards_helper.rb'
+ - 'app/helpers/projects_helper.rb'
+ - 'app/helpers/search_helper.rb'
+ - 'app/helpers/time_helper.rb'
+ - 'app/models/merge_request.rb'
+ - 'app/models/project_services/pushover_service.rb'
+ - 'features/steps/project/forked_merge_requests.rb'
+ - 'spec/features/admin/admin_projects_spec.rb'
+ - 'spec/features/issues_spec.rb'
+ - 'spec/features/projects/branches_spec.rb'
+ - 'spec/features/projects/issuable_templates_spec.rb'
+ - 'spec/lib/banzai/filter/issue_reference_filter_spec.rb'
+ - 'spec/views/projects/commit/_commit_box.html.haml_spec.rb'
# Offense count: 8
# Cop supports --auto-correct.
Style/ZeroLengthPredicate:
- Enabled: false
+ Exclude:
+ - 'app/models/deploy_key.rb'
+ - 'app/models/merge_request.rb'
+ - 'app/models/network/commit.rb'
+ - 'app/models/network/graph.rb'
+ - 'app/models/project_services/asana_service.rb'
+ - 'app/models/repository.rb'
+ - 'lib/extracts_path.rb'
diff --git a/Gemfile b/Gemfile
index 3d871c49020..af5566595ed 100644
--- a/Gemfile
+++ b/Gemfile
@@ -300,8 +300,8 @@ group :development, :test do
gem 'spring-commands-spinach', '~> 1.1.0'
gem 'spring-commands-teaspoon', '~> 0.0.2'
- gem 'rubocop', '~> 0.43.0', require: false
- gem 'rubocop-rspec', '~> 1.5.0', require: false
+ gem 'rubocop', '~> 0.46.0', require: false
+ gem 'rubocop-rspec', '~> 1.9.1', require: false
gem 'scss_lint', '~> 0.47.0', require: false
gem 'haml_lint', '~> 0.18.2', require: false
gem 'simplecov', '0.12.0', require: false
diff --git a/Gemfile.lock b/Gemfile.lock
index 38c52e47299..cb71a468aa1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -649,14 +649,14 @@ GEM
rspec-retry (0.4.5)
rspec-core
rspec-support (3.5.0)
- rubocop (0.43.0)
+ rubocop (0.46.0)
parser (>= 2.3.1.1, < 3.0)
powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
- rubocop-rspec (1.5.0)
- rubocop (>= 0.40.0)
+ rubocop-rspec (1.9.1)
+ rubocop (>= 0.42.0)
ruby-fogbugz (0.2.1)
crack (~> 0.4)
ruby-prof (0.16.2)
@@ -975,7 +975,7 @@ DEPENDENCIES
rspec-rails (~> 3.5.0)
rspec-retry (~> 0.4.5)
rubocop (~> 0.43.0)
- rubocop-rspec (~> 1.5.0)
+ rubocop-rspec (~> 1.9.1)
ruby-fogbugz (~> 0.2.1)
ruby-prof (~> 0.16.2)
rugged (~> 0.24.0)