Add rubocop binstub, simplify configuration (#30407)
				
					
				
			This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/lint-ruby.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint-ruby.yml
									
									
									
									
										vendored
									
									
								
							@@ -43,7 +43,7 @@ jobs:
 | 
			
		||||
        uses: r7kamura/rubocop-problem-matchers-action@v1
 | 
			
		||||
 | 
			
		||||
      - name: Run rubocop
 | 
			
		||||
        run: bundle exec rubocop
 | 
			
		||||
        run: bin/rubocop
 | 
			
		||||
 | 
			
		||||
      - name: Run brakeman
 | 
			
		||||
        if: always() # Run both checks, even if the first failed
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										254
									
								
								.rubocop.yml
									
									
									
									
									
								
							
							
						
						
									
										254
									
								
								.rubocop.yml
									
									
									
									
									
								
							@@ -1,7 +1,34 @@
 | 
			
		||||
# Can be removed once all rules are addressed or moved to this file as documented overrides
 | 
			
		||||
inherit_from: .rubocop_todo.yml
 | 
			
		||||
---
 | 
			
		||||
AllCops:
 | 
			
		||||
  CacheRootDirectory: tmp
 | 
			
		||||
  DisplayCopNames: true
 | 
			
		||||
  DisplayStyleGuide: true
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - db/schema.rb
 | 
			
		||||
    - bin/*
 | 
			
		||||
    - node_modules/**/*
 | 
			
		||||
    - Vagrantfile
 | 
			
		||||
    - vendor/**/*
 | 
			
		||||
    - config/initializers/json_ld*
 | 
			
		||||
    - lib/mastodon/migration_helpers.rb
 | 
			
		||||
    - lib/templates/**/*
 | 
			
		||||
  ExtraDetails: true
 | 
			
		||||
  NewCops: enable
 | 
			
		||||
  TargetRubyVersion: 3.1 # Oldest supported ruby version
 | 
			
		||||
  UseCache: true
 | 
			
		||||
 | 
			
		||||
inherit_from:
 | 
			
		||||
  - .rubocop/layout.yml
 | 
			
		||||
  - .rubocop/metrics.yml
 | 
			
		||||
  - .rubocop/naming.yml
 | 
			
		||||
  - .rubocop/rails.yml
 | 
			
		||||
  - .rubocop/rspec_rails.yml
 | 
			
		||||
  - .rubocop/rspec.yml
 | 
			
		||||
  - .rubocop/style.yml
 | 
			
		||||
  - .rubocop/custom.yml
 | 
			
		||||
  - .rubocop_todo.yml
 | 
			
		||||
  - .rubocop/strict.yml
 | 
			
		||||
 | 
			
		||||
# Used for merging with exclude lists with .rubocop_todo.yml
 | 
			
		||||
inherit_mode:
 | 
			
		||||
  merge:
 | 
			
		||||
    - Exclude
 | 
			
		||||
@@ -12,224 +39,3 @@ require:
 | 
			
		||||
  - rubocop-rspec_rails
 | 
			
		||||
  - rubocop-performance
 | 
			
		||||
  - rubocop-capybara
 | 
			
		||||
  - ./lib/linter/rubocop_middle_dot
 | 
			
		||||
 | 
			
		||||
AllCops:
 | 
			
		||||
  TargetRubyVersion: 3.1 # Set to minimum supported version of CI
 | 
			
		||||
  DisplayCopNames: true
 | 
			
		||||
  DisplayStyleGuide: true
 | 
			
		||||
  ExtraDetails: true
 | 
			
		||||
  UseCache: true
 | 
			
		||||
  CacheRootDirectory: tmp
 | 
			
		||||
  NewCops: enable # Opt-in to newly added rules
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - db/schema.rb
 | 
			
		||||
    - 'bin/*'
 | 
			
		||||
    - 'node_modules/**/*'
 | 
			
		||||
    - 'Vagrantfile'
 | 
			
		||||
    - 'vendor/**/*'
 | 
			
		||||
    - 'config/initializers/json_ld*' # Generated files
 | 
			
		||||
    - 'lib/mastodon/migration_helpers.rb' # Vendored from GitLab
 | 
			
		||||
    - 'lib/templates/**/*'
 | 
			
		||||
 | 
			
		||||
# Reason: Prefer Hashes without extreme indentation
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutfirsthashelementindentation
 | 
			
		||||
Layout/FirstHashElementIndentation:
 | 
			
		||||
  EnforcedStyle: consistent
 | 
			
		||||
 | 
			
		||||
# Reason: Currently disabled in .rubocop_todo.yml
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
 | 
			
		||||
Layout/LineLength:
 | 
			
		||||
  Max: 300 # Default of 120 causes a duplicate entry in generated todo file
 | 
			
		||||
 | 
			
		||||
## Disable most Metrics/*Length cops
 | 
			
		||||
# Reason: those are often triggered and force significant refactors when this happend
 | 
			
		||||
#         but the team feel they are not really improving the code quality.
 | 
			
		||||
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocklength
 | 
			
		||||
Metrics/BlockLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsclasslength
 | 
			
		||||
Metrics/ClassLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmethodlength
 | 
			
		||||
Metrics/MethodLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmodulelength
 | 
			
		||||
Metrics/ModuleLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
## End Disable Metrics/*Length cops
 | 
			
		||||
 | 
			
		||||
# Reason: Currently disabled in .rubocop_todo.yml
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize
 | 
			
		||||
Metrics/AbcSize:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/mastodon/cli/*.rb'
 | 
			
		||||
 | 
			
		||||
# Reason: Currently disabled in .rubocop_todo.yml
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
 | 
			
		||||
Metrics/CyclomaticComplexity:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - lib/mastodon/cli/*.rb
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsparameterlists
 | 
			
		||||
Metrics/ParameterLists:
 | 
			
		||||
  CountKeywordArgs: false
 | 
			
		||||
 | 
			
		||||
# Reason: Prefer seeing a variable name
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_naming.html#namingblockforwarding
 | 
			
		||||
Naming/BlockForwarding:
 | 
			
		||||
  EnforcedStyle: explicit
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style is argument file paths
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsfilepath
 | 
			
		||||
Rails/FilePath:
 | 
			
		||||
  EnforcedStyle: arguments
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style uses numeric status codes, matches RSpec/Rails/HttpStatus
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railshttpstatus
 | 
			
		||||
Rails/HttpStatus:
 | 
			
		||||
  EnforcedStyle: numeric
 | 
			
		||||
 | 
			
		||||
# Reason: Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railslexicallyscopedactionfilter
 | 
			
		||||
Rails/LexicallyScopedActionFilter:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'app/controllers/auth/*'
 | 
			
		||||
 | 
			
		||||
# Reason: These tasks are doing local work which do not need full env loaded
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsrakeenvironment
 | 
			
		||||
Rails/RakeEnvironment:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - 'lib/tasks/auto_annotate_models.rake'
 | 
			
		||||
    - 'lib/tasks/emojis.rake'
 | 
			
		||||
    - 'lib/tasks/mastodon.rake'
 | 
			
		||||
    - 'lib/tasks/repo.rake'
 | 
			
		||||
    - 'lib/tasks/statistics.rake'
 | 
			
		||||
 | 
			
		||||
# Reason: There are appropriate times to use these features
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsskipsmodelvalidations
 | 
			
		||||
Rails/SkipsModelValidations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: We want to preserve the ability to migrate from arbitrary old versions,
 | 
			
		||||
# and cannot guarantee that every installation has run every migration as they upgrade.
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsunusedignoredcolumns
 | 
			
		||||
Rails/UnusedIgnoredColumns:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style choice
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsnegateinclude
 | 
			
		||||
Rails/NegateInclude:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Enforce default limit, but allow some elements to span lines
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecexamplelength
 | 
			
		||||
RSpec/ExampleLength:
 | 
			
		||||
  CountAsOne: ['array', 'heredoc', 'method_call']
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
 | 
			
		||||
RSpec/NamedSubject:
 | 
			
		||||
  EnforcedStyle: named_only
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style choice
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnottonot
 | 
			
		||||
RSpec/NotToNot:
 | 
			
		||||
  EnforcedStyle: to_not
 | 
			
		||||
 | 
			
		||||
# Reason: Match overrides from Rspec/FilePath rule above
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecspecfilepathformat
 | 
			
		||||
RSpec/SpecFilePathFormat:
 | 
			
		||||
  CustomTransform:
 | 
			
		||||
    ActivityPub: activitypub
 | 
			
		||||
    DeepL: deepl
 | 
			
		||||
    FetchOEmbedService: fetch_oembed_service
 | 
			
		||||
    OEmbedController: oembed_controller
 | 
			
		||||
    OStatus: ostatus
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus
 | 
			
		||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus
 | 
			
		||||
RSpecRails/HttpStatus:
 | 
			
		||||
  EnforcedStyle: numeric
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleclassandmodulechildren
 | 
			
		||||
Style/ClassAndModuleChildren:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Classes mostly self-document with their names
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styledocumentation
 | 
			
		||||
Style/Documentation:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Route redirects are not token-formatted and must be skipped
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleformatstringtoken
 | 
			
		||||
Style/FormatStringToken:
 | 
			
		||||
  inherit_mode:
 | 
			
		||||
    merge:
 | 
			
		||||
      - AllowedMethods # The rubocop-rails config adds `redirect`
 | 
			
		||||
  AllowedMethods:
 | 
			
		||||
    - redirect_with_vary
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style choice
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashaslastarrayitem
 | 
			
		||||
Style/HashAsLastArrayItem:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Enforce modern Ruby style
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
 | 
			
		||||
Style/HashSyntax:
 | 
			
		||||
  EnforcedStyle: ruby19_no_mixed_keys
 | 
			
		||||
  EnforcedShorthandSyntax: either
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals
 | 
			
		||||
Style/NumericLiterals:
 | 
			
		||||
  AllowedPatterns:
 | 
			
		||||
    - \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylepercentliteraldelimiters
 | 
			
		||||
Style/PercentLiteralDelimiters:
 | 
			
		||||
  PreferredDelimiters:
 | 
			
		||||
    '%i': '()'
 | 
			
		||||
    '%w': '()'
 | 
			
		||||
 | 
			
		||||
# Reason: Prefer less indentation in conditional assignments
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin
 | 
			
		||||
Style/RedundantBegin:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Prevailing style choice
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantfetchblock
 | 
			
		||||
Style/RedundantFetchBlock:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason: Overridden to reduce implicit StandardError rescues
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
 | 
			
		||||
Style/RescueStandardError:
 | 
			
		||||
  EnforcedStyle: implicit
 | 
			
		||||
 | 
			
		||||
# Reason: Originally disabled for CodeClimate, and no config consensus has been found
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
 | 
			
		||||
Style/SymbolArray:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainarrayliteral
 | 
			
		||||
Style/TrailingCommaInArrayLiteral:
 | 
			
		||||
  EnforcedStyleForMultiline: 'comma'
 | 
			
		||||
 | 
			
		||||
# Reason:
 | 
			
		||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainhashliteral
 | 
			
		||||
Style/TrailingCommaInHashLiteral:
 | 
			
		||||
  EnforcedStyleForMultiline: 'comma'
 | 
			
		||||
 | 
			
		||||
Style/MiddleDot:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								.rubocop/custom.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.rubocop/custom.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
require:
 | 
			
		||||
  - ../lib/linter/rubocop_middle_dot
 | 
			
		||||
 | 
			
		||||
Style/MiddleDot:
 | 
			
		||||
  Enabled: true
 | 
			
		||||
							
								
								
									
										6
									
								
								.rubocop/layout.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.rubocop/layout.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
Layout/FirstHashElementIndentation:
 | 
			
		||||
  EnforcedStyle: consistent
 | 
			
		||||
 | 
			
		||||
Layout/LineLength:
 | 
			
		||||
  Max: 300 # Default of 120 causes a duplicate entry in generated todo file
 | 
			
		||||
							
								
								
									
										23
									
								
								.rubocop/metrics.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.rubocop/metrics.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
---
 | 
			
		||||
Metrics/AbcSize:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - lib/mastodon/cli/*.rb
 | 
			
		||||
 | 
			
		||||
Metrics/BlockLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Metrics/ClassLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Metrics/CyclomaticComplexity:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - lib/mastodon/cli/*.rb
 | 
			
		||||
 | 
			
		||||
Metrics/MethodLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Metrics/ModuleLength:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Metrics/ParameterLists:
 | 
			
		||||
  CountKeywordArgs: false
 | 
			
		||||
							
								
								
									
										3
									
								
								.rubocop/naming.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.rubocop/naming.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
---
 | 
			
		||||
Naming/BlockForwarding:
 | 
			
		||||
  EnforcedStyle: explicit
 | 
			
		||||
							
								
								
									
										27
									
								
								.rubocop/rails.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								.rubocop/rails.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
---
 | 
			
		||||
Rails/FilePath:
 | 
			
		||||
  EnforcedStyle: arguments
 | 
			
		||||
 | 
			
		||||
Rails/HttpStatus:
 | 
			
		||||
  EnforcedStyle: numeric
 | 
			
		||||
 | 
			
		||||
Rails/LexicallyScopedActionFilter:
 | 
			
		||||
  Exclude:
 | 
			
		||||
    - app/controllers/auth/* # Conflicts with `Lint/UselessMethodDefinition` for inherited controller actions
 | 
			
		||||
 | 
			
		||||
Rails/NegateInclude:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/RakeEnvironment:
 | 
			
		||||
  Exclude: # Tasks are doing local work which do not need full env loaded
 | 
			
		||||
    - lib/tasks/auto_annotate_models.rake
 | 
			
		||||
    - lib/tasks/emojis.rake
 | 
			
		||||
    - lib/tasks/mastodon.rake
 | 
			
		||||
    - lib/tasks/repo.rake
 | 
			
		||||
    - lib/tasks/statistics.rake
 | 
			
		||||
 | 
			
		||||
Rails/SkipsModelValidations:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Rails/UnusedIgnoredColumns:
 | 
			
		||||
  Enabled: false # Preserve ability to migrate from arbitrary old versions
 | 
			
		||||
							
								
								
									
										17
									
								
								.rubocop/rspec.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.rubocop/rspec.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
---
 | 
			
		||||
RSpec/ExampleLength:
 | 
			
		||||
  CountAsOne: ['array', 'heredoc', 'method_call']
 | 
			
		||||
 | 
			
		||||
RSpec/NamedSubject:
 | 
			
		||||
  EnforcedStyle: named_only
 | 
			
		||||
 | 
			
		||||
RSpec/NotToNot:
 | 
			
		||||
  EnforcedStyle: to_not
 | 
			
		||||
 | 
			
		||||
RSpec/SpecFilePathFormat:
 | 
			
		||||
  CustomTransform:
 | 
			
		||||
    ActivityPub: activitypub
 | 
			
		||||
    DeepL: deepl
 | 
			
		||||
    FetchOEmbedService: fetch_oembed_service
 | 
			
		||||
    OEmbedController: oembed_controller
 | 
			
		||||
    OStatus: ostatus
 | 
			
		||||
							
								
								
									
										3
									
								
								.rubocop/rspec_rails.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.rubocop/rspec_rails.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
---
 | 
			
		||||
RSpecRails/HttpStatus:
 | 
			
		||||
  EnforcedStyle: numeric
 | 
			
		||||
							
								
								
									
										19
									
								
								.rubocop/strict.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.rubocop/strict.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
Lint/Debugger: # Remove any `binding.pry`
 | 
			
		||||
  Enabled: true
 | 
			
		||||
  Exclude: []
 | 
			
		||||
 | 
			
		||||
RSpec/Focus: # Require full spec run on CI
 | 
			
		||||
  Enabled: true
 | 
			
		||||
  Exclude: []
 | 
			
		||||
 | 
			
		||||
Rails/Output: # Remove any `puts` debugging
 | 
			
		||||
  Enabled: true
 | 
			
		||||
  Exclude: []
 | 
			
		||||
 | 
			
		||||
Rails/FindEach: # Using `each` could impact performance, use `find_each`
 | 
			
		||||
  Enabled: true
 | 
			
		||||
  Exclude: []
 | 
			
		||||
 | 
			
		||||
Rails/UniqBeforePluck: # Require `uniq.pluck` and not `pluck.uniq`
 | 
			
		||||
  Enabled: true
 | 
			
		||||
  Exclude: []
 | 
			
		||||
							
								
								
									
										47
									
								
								.rubocop/style.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								.rubocop/style.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
---
 | 
			
		||||
Style/ClassAndModuleChildren:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/Documentation:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/FormatStringToken:
 | 
			
		||||
  AllowedMethods:
 | 
			
		||||
    - redirect_with_vary # Route redirects are not token-formatted
 | 
			
		||||
  inherit_mode:
 | 
			
		||||
    merge:
 | 
			
		||||
      - AllowedMethods
 | 
			
		||||
 | 
			
		||||
Style/HashAsLastArrayItem:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/HashSyntax:
 | 
			
		||||
  EnforcedShorthandSyntax: either
 | 
			
		||||
  EnforcedStyle: ruby19_no_mixed_keys
 | 
			
		||||
 | 
			
		||||
Style/NumericLiterals:
 | 
			
		||||
  AllowedPatterns:
 | 
			
		||||
    - \d{4}_\d{2}_\d{2}_\d{6}
 | 
			
		||||
 | 
			
		||||
Style/PercentLiteralDelimiters:
 | 
			
		||||
  PreferredDelimiters:
 | 
			
		||||
    '%i': ()
 | 
			
		||||
    '%w': ()
 | 
			
		||||
 | 
			
		||||
Style/RedundantBegin:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RedundantFetchBlock:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/RescueStandardError:
 | 
			
		||||
  EnforcedStyle: implicit
 | 
			
		||||
 | 
			
		||||
Style/SymbolArray:
 | 
			
		||||
  Enabled: false
 | 
			
		||||
 | 
			
		||||
Style/TrailingCommaInArrayLiteral:
 | 
			
		||||
  EnforcedStyleForMultiline: comma
 | 
			
		||||
 | 
			
		||||
Style/TrailingCommaInHashLiteral:
 | 
			
		||||
  EnforcedStyleForMultiline: comma
 | 
			
		||||
							
								
								
									
										27
									
								
								bin/rubocop
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								bin/rubocop
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
#!/usr/bin/env ruby
 | 
			
		||||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# This file was generated by Bundler.
 | 
			
		||||
#
 | 
			
		||||
# The application 'rubocop' is installed as part of a gem, and
 | 
			
		||||
# this file is here to facilitate running it.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
 | 
			
		||||
 | 
			
		||||
bundle_binstub = File.expand_path("bundle", __dir__)
 | 
			
		||||
 | 
			
		||||
if File.file?(bundle_binstub)
 | 
			
		||||
  if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
 | 
			
		||||
    load(bundle_binstub)
 | 
			
		||||
  else
 | 
			
		||||
    abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
 | 
			
		||||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
require "rubygems"
 | 
			
		||||
require "bundler/setup"
 | 
			
		||||
 | 
			
		||||
load Gem.bin_path("rubocop", "rubocop")
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
const config = {
 | 
			
		||||
  '*': 'prettier --ignore-unknown --write',
 | 
			
		||||
  'Capfile|Gemfile|*.{rb,ruby,ru,rake}':
 | 
			
		||||
    'bundle exec rubocop --force-exclusion -a',
 | 
			
		||||
  'Capfile|Gemfile|*.{rb,ruby,ru,rake}': 'bin/rubocop --force-exclusion -a',
 | 
			
		||||
  '*.{js,jsx,ts,tsx}': 'eslint --fix',
 | 
			
		||||
  '*.{css,scss}': 'stylelint --fix',
 | 
			
		||||
  '*.haml': 'bundle exec haml-lint -a',
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user