Update RuboCop config.

This commit is contained in:
Markus Reiter 2016-09-25 02:41:14 +02:00
parent 51504e4383
commit b114db13d5
3 changed files with 315 additions and 144 deletions

View File

@ -1,10 +1,185 @@
# ruby style guide favorite
Style/StringLiterals:
EnforcedStyle: double_quotes
Metrics/AbcSize:
Enabled: false
# consistency with above
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/LineLength:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
CountComments: false
Exclude:
- 'Homebrew/cask/lib/hbc/locations.rb'
- 'Homebrew/cask/lib/hbc/macos.rb'
- 'Homebrew/cask/lib/hbc/utils.rb'
Metrics/PerceivedComplexity:
Enabled: false
# favor parens-less DSL-style arguments
Lint/AmbiguousOperator:
Enabled: false
Lint/AmbiguousRegexpLiteral:
Enabled: false
Lint/AssignmentInCondition:
Enabled: false
Lint/EndAlignment:
AlignWith: variable
# `formula do` uses nested method definitions
Lint/NestedMethodDefinition:
Exclude:
- 'Homebrew/test/**/*'
Lint/ParenthesesAsGroupedExpression:
Enabled: false
Style/Alias:
EnforcedStyle: prefer_alias
Style/AlignHash:
Enabled: false
# `system` is a special case and aligns on second argument
Style/AlignParameters:
Enabled: false
Style/BarePercentLiterals:
Exclude:
- 'Taps/**/*'
EnforcedStyle: percent_q
Style/BlockDelimiters:
EnforcedStyle: semantic
Exclude:
- 'Taps/**/*'
FunctionalMethods:
- expect
- find
- let
- let!
- subject
- watch
- inject
- map
- map!
- collect
- collect!
- reject
- reject!
- delete_if
- with_object
- popen_read
ProceduralMethods:
- after
- at_exit
- before
- benchmark
- bm
- bmbm
- capture_io
- capture_output
- capture_subprocess_io
- chdir
- context
- create
- define_method
- define_singleton_method
- fork
- measure
- new
- open
- realtime
- shutup
- tap
- each
- each_pair
- each_with_index
- reverse_each
- ignore_interrupts
IgnoredMethods:
- each_with_object
- it
- its
- lambda
- proc
- formula
- mock
- devel
- stable
- head
- assert_raises
- assert_nothing_raised
- resource
- with_build_environment
- ensure_writable
- satisfy
- fetch
- brew
- expand
- env
- recursive_dependencies
- trap
- link_dir
- with_system_path
Style/CaseIndentation:
IndentWhenRelativeTo: end
Style/ClassAndModuleChildren:
EnforcedStyle: nested
# percent-x is allowed for multiline
Style/CommandLiteral:
EnforcedStyle: mixed
# our current conditional style is established, clear and
# requiring users to change that now would be confusing.
Style/ConditionalAssignment:
Enabled: false
Style/Documentation:
Enabled: false
Style/EmptyLineBetweenDefs:
AllowAdjacentOneLineDefs: true
# dashes in filenames are typical
Style/FileName:
Regex: !ruby/regexp /^[\w\@\-\+\.]+(\.rb)?$/
# counterproductive in formulas, notably within the install method
Style/GuardClause:
Exclude:
- 'Taps/**/*'
# depends_on foo: :bar looks rubbish
Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys
Exclude:
- 'Taps/**/*'
Style/IfUnlessModifier:
Exclude:
- 'Taps/**/*'
Style/IndentArray:
EnforcedStyle: special_inside_parentheses
# we won't change backward compatible method names
Style/MethodName:
Exclude:
- 'Homebrew/compat/**/*'
# only for numbers >= 1_000_000
Style/NumericLiterals:
@ -14,62 +189,6 @@ Style/NumericLiterals:
Style/NumericLiteralPrefix:
EnforcedOctalStyle: zero_only
# percent-x is allowed for multiline
Style/CommandLiteral:
EnforcedStyle: mixed
# depends_on foo: :bar looks rubbish
Style/HashSyntax:
EnforcedStyle: ruby19
Exclude:
- 'Taps/**/*'
# paths abound, easy escape
Style/RegexpLiteral:
EnforcedStyle: slashes
Style/Alias:
EnforcedStyle: prefer_alias
# our current conditional style is established, clear and
# requiring users to change that now would be confusing.
Style/ConditionalAssignment:
Enabled: false
# no metrics for formulas
Metrics/AbcSize:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
# we often need very long lines
Metrics/LineLength:
Enabled: false
# formulas have no mandatory doc
Style/Documentation:
Enabled: false
# favor parens-less DSL-style arguments
Lint/AmbiguousOperator:
Enabled: false
Lint/AmbiguousRegexpLiteral:
Enabled: false
Lint/AssignmentInCondition:
Enabled: false
Lint/ParenthesesAsGroupedExpression:
Enabled: false
# compact style
Style/EmptyLineBetweenDefs:
AllowAdjacentOneLineDefs: true
# consistency and readability when faced with string interpolation
Style/PercentLiteralDelimiters:
PreferredDelimiters:
@ -83,6 +202,23 @@ Style/PercentLiteralDelimiters:
'%W': '[]'
'%x': '()'
# we prefer Perl-style regex back references
Style/PerlBackrefs:
Enabled: false
# we won't change backward compatible predicate names
Style/PredicateName:
Exclude:
- 'Homebrew/compat/**/*'
NameWhitelist: is_32_bit?, is_64_bit?
Style/RaiseArgs:
EnforcedStyle: exploded
# paths abound, easy escape
Style/RegexpLiteral:
EnforcedStyle: slashes
# conflicts with DSL-style path concatenation with `/`
Style/SpaceAroundOperators:
Enabled: false
@ -91,66 +227,32 @@ Style/SpaceAroundOperators:
Style/SpecialGlobalVars:
Enabled: false
# `system` is a special case and aligns on second argument
Style/AlignParameters:
Enabled: false
# ruby style guide favorite
Style/StringLiterals:
EnforcedStyle: double_quotes
# counterproductive in formulas, notably within the install method
Style/GuardClause:
Exclude:
- 'Taps/**/*'
Style/IfUnlessModifier:
Exclude:
- 'Taps/**/*'
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/3516
Style/VariableNumber:
Enabled: false
# consistency with above
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
# TODO: enforce when rubocop has shipped this
# https://github.com/bbatsov/rubocop/pull/3513
Style/TernaryParentheses:
Enabled: false
# dashes in filenames are typical
Style/FileName:
Regex: !ruby/regexp /^[\w\@\-\+\.]+(\.rb)?$/
# no percent word array, being friendly to non-ruby users
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/1543
Style/WordArray:
Enabled: false
Style/UnneededCapitalW:
Enabled: false
# we prefer compact if-else-end/case-when-end alignment
Lint/EndAlignment:
AlignWith: variable
Style/CaseIndentation:
IndentWhenRelativeTo: end
# we prefer Perl-style regex back references
Style/PerlBackrefs:
Enabled: false
# makes diffs nicer
Style/TrailingCommaInLiteral:
EnforcedStyleForMultiline: comma
# we won't change backward compatible method names
Style/MethodName:
Exclude:
- 'Homebrew/compat/**/*'
Style/UnneededCapitalW:
Enabled: false
# we won't change backward compatible predicate names
Style/PredicateName:
Exclude:
- 'Homebrew/compat/**/*'
NameWhitelist: is_32_bit?, is_64_bit?
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/3516
Style/VariableNumber:
Enabled: false
# `formula do` uses nested method definitions
Lint/NestedMethodDefinition:
Exclude:
- 'Homebrew/test/**/*'
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/1543
Style/WordArray:
Enabled: false

View File

@ -1,12 +1,12 @@
# This configuration was generated by
# `rubocop --auto-gen-config --exclude-limit 100`
# on 2016-09-22 20:07:41 +0200 using RuboCop version 0.43.0.
# on 2016-09-25 02:39:38 +0200 using RuboCop version 0.43.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: 18
# Offense count: 16
Lint/HandleExceptions:
Exclude:
- 'Homebrew/cmd/install.rb'
@ -16,7 +16,6 @@ Lint/HandleExceptions:
- 'Homebrew/cmd/upgrade.rb'
- 'Homebrew/cmd/uses.rb'
- 'Homebrew/descriptions.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
- 'Homebrew/diagnostic.rb'
- 'Homebrew/extend/ENV/super.rb'
- 'Homebrew/extend/pathname.rb'
@ -35,12 +34,11 @@ Lint/Loop:
Exclude:
- 'Homebrew/patch.rb'
# Offense count: 6
# Offense count: 1
Lint/NestedMethodDefinition:
Exclude:
- 'Homebrew/test/**/*'
- 'Homebrew/dev-cmd/bottle.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
# Offense count: 28
Lint/RescueException:
@ -67,31 +65,117 @@ Lint/ShadowedException:
Exclude:
- 'Homebrew/utils/fork.rb'
# Offense count: 18
# Offense count: 14
Metrics/BlockNesting:
Max: 5
# Offense count: 20
# Offense count: 19
# Configuration parameters: CountComments.
Metrics/ModuleLength:
Max: 370
Max: 366
# Offense count: 2
# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
Max: 6
# Offense count: 1
Style/CaseEquality:
# Offense count: 9
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Exclude:
- 'Homebrew/compilers.rb'
- 'Taps/**/*'
- 'Homebrew/dev-cmd/audit.rb'
- 'Homebrew/test/test_diagnostic.rb'
- 'Homebrew/test/test_exceptions.rb'
- 'Homebrew/test/test_integration_cmds.rb'
- 'Homebrew/test/test_patch.rb'
- 'Homebrew/test/test_string.rb'
# Offense count: 11
# Offense count: 136
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods.
# SupportedStyles: line_count_based, semantic, braces_for_chaining
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
Exclude:
- 'Taps/**/*'
- 'Homebrew/caveats.rb'
- 'Homebrew/cleaner.rb'
- 'Homebrew/cleanup.rb'
- 'Homebrew/cmd/deps.rb'
- 'Homebrew/cmd/desc.rb'
- 'Homebrew/cmd/fetch.rb'
- 'Homebrew/cmd/help.rb'
- 'Homebrew/cmd/info.rb'
- 'Homebrew/cmd/linkapps.rb'
- 'Homebrew/cmd/list.rb'
- 'Homebrew/cmd/outdated.rb'
- 'Homebrew/cmd/reinstall.rb'
- 'Homebrew/cmd/search.rb'
- 'Homebrew/cmd/tap-info.rb'
- 'Homebrew/cmd/unlinkapps.rb'
- 'Homebrew/cmd/update-report.rb'
- 'Homebrew/cmd/upgrade.rb'
- 'Homebrew/cmd/uses.rb'
- 'Homebrew/compilers.rb'
- 'Homebrew/debrew.rb'
- 'Homebrew/descriptions.rb'
- 'Homebrew/dev-cmd/aspell-dictionaries.rb'
- 'Homebrew/dev-cmd/audit.rb'
- 'Homebrew/dev-cmd/bottle.rb'
- 'Homebrew/dev-cmd/edit.rb'
- 'Homebrew/dev-cmd/man.rb'
- 'Homebrew/diagnostic.rb'
- 'Homebrew/exceptions.rb'
- 'Homebrew/extend/ARGV.rb'
- 'Homebrew/extend/ENV/shared.rb'
- 'Homebrew/extend/ENV/std.rb'
- 'Homebrew/extend/fileutils.rb'
- 'Homebrew/extend/os/mac/formula_cellar_checks.rb'
- 'Homebrew/extend/pathname.rb'
- 'Homebrew/formula.rb'
- 'Homebrew/formula_assertions.rb'
- 'Homebrew/formula_cellar_checks.rb'
- 'Homebrew/formula_installer.rb'
- 'Homebrew/formulary.rb'
- 'Homebrew/global.rb'
- 'Homebrew/keg.rb'
- 'Homebrew/language/haskell.rb'
- 'Homebrew/language/node.rb'
- 'Homebrew/language/python.rb'
- 'Homebrew/migrator.rb'
- 'Homebrew/os/mac/linkage_checker.rb'
- 'Homebrew/os/mac/xquartz.rb'
- 'Homebrew/patch.rb'
- 'Homebrew/readall.rb'
- 'Homebrew/software_spec.rb'
- 'Homebrew/tap.rb'
- 'Homebrew/test/lib/config.rb'
- 'Homebrew/test/test_ARGV.rb'
- 'Homebrew/test/test_cleanup.rb'
- 'Homebrew/test/test_cmd_audit.rb'
- 'Homebrew/test/test_dependency_collector.rb'
- 'Homebrew/test/test_formula_installer.rb'
- 'Homebrew/test/test_formula_installer_bottle.rb'
- 'Homebrew/test/test_formulary.rb'
- 'Homebrew/test/test_gpg.rb'
- 'Homebrew/test/test_integration_cmds.rb'
- 'Homebrew/test/test_migrator.rb'
- 'Homebrew/test/test_pathname.rb'
- 'Homebrew/test/test_tap.rb'
- 'Homebrew/test/test_utils.rb'
- 'Homebrew/test/testing_env.rb'
- 'Homebrew/utils.rb'
- 'Homebrew/utils/github.rb'
# Offense count: 7
Style/ClassVars:
Exclude:
- 'Homebrew/cleanup.rb'
- 'Homebrew/dev-cmd/audit.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
- 'Homebrew/formula_installer.rb'
- 'Homebrew/test/testing_env.rb'
- 'Homebrew/utils.rb'
@ -108,14 +192,6 @@ Style/GlobalVars:
- 'Homebrew/diagnostic.rb'
- 'Homebrew/utils.rb'
# Offense count: 51
# Cop supports --auto-correct.
# Configuration parameters: MaxLineLength.
Style/IfUnlessModifier:
Exclude:
- 'Taps/**/*'
- 'Homebrew/dev-cmd/audit.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles, IndentationWidth.
@ -123,7 +199,7 @@ Style/IfUnlessModifier:
Style/IndentArray:
EnforcedStyle: special_inside_parentheses
# Offense count: 7
# Offense count: 5
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: module_function, extend_self
Style/ModuleFunction:
@ -153,16 +229,9 @@ Style/MutableConstant:
- 'Homebrew/tap.rb'
# Offense count: 9
# Offense count: 8
Style/OpMethod:
Exclude:
- 'Homebrew/compilers.rb'
- 'Homebrew/dependencies.rb'
- 'Homebrew/install_renamed.rb'
- 'Homebrew/options.rb'
# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: SupportedStyles.
# SupportedStyles: use_perl_names, use_english_names
Style/SpecialGlobalVars:
EnforcedStyle: use_perl_names

View File

@ -9,7 +9,7 @@ Metrics/AbcSize:
Enabled: false
Metrics/ClassLength:
Enabled: false
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false