# https://github.com/openstreetmap/openstreetmap-website/issues/2472
require:
  - rubocop-performance
  - rubocop-rails
  - rubocop-rspec

# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2020-05-08 12:21:06 +0200 using RuboCop version 0.82.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: 264
# Configuration parameters: IgnoredMethods.
Metrics/AbcSize:
  Max: 64

# Offense count: 6
# Configuration parameters: CountComments, ExcludedMethods.
# ExcludedMethods: refine
Metrics/BlockLength:
  Max: 53

# Offense count: 10
Performance/OpenStruct:
  Exclude:
    - 'app/models/article.rb'
    - 'app/models/organization.rb'
    - 'app/services/aws/fake_client.rb'
    - 'app/services/notifications/reactions/send.rb'
    - 'spec/labor/badge_rewarder_spec.rb'
    - 'spec/models/github_repo_spec.rb'
    - 'spec/requests/github_repos_spec.rb'

# Offense count: 2
# Configuration parameters: Max.
RSpec/ExampleLength:
  Exclude:
    - 'spec/models/comment_spec.rb'
    - 'spec/requests/display_ad_events_spec.rb'

# Offense count: 859
RSpec/MultipleExpectations:
  Max: 10

# Offense count: 1
RSpec/SubjectStub:
  Exclude:
    - 'spec/models/article_spec.rb'

# Offense count: 1
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/HasAndBelongsToMany:
  Exclude:
    - 'app/models/role.rb'

# Offense count: 3
# Configuration parameters: Include.
# Include: app/helpers/**/*.rb
Rails/HelperInstanceVariable:
  Exclude:
    - 'app/helpers/application_helper.rb'

# Offense count: 16
Rails/OutputSafety:
  Exclude:
    - 'app/helpers/application_helper.rb'
    - 'app/helpers/comments_helper.rb'
    - 'app/liquid_tags/github_tag/github_issue_tag.rb'
    - 'app/liquid_tags/liquid_tag_base.rb'
    - 'app/models/comment.rb'
    - 'app/models/display_ad.rb'
    - 'app/models/message.rb'

# Offense count: 26
# Configuration parameters: Include.
# Include: app/models/**/*.rb
Rails/UniqueValidationWithoutIndex:
  Enabled: false

# Offense count: 33
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, EnforcedStyle.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
  Enabled: false

# Offense count: 3
# Configuration parameters: Methods.
# Methods: {"reduce"=>["acc", "elem"]}, {"inject"=>["acc", "elem"]}
Style/SingleLineBlockParams:
  Exclude:
    - 'app/labor/markdown_fixer.rb'

# Offense count: 5028
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
  Max: 380
