259 lines
4.8 KiB
YAML
259 lines
4.8 KiB
YAML
Metrics/AbcSize:
|
|
Enabled: false
|
|
|
|
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:
|
|
MinDigits: 7
|
|
|
|
# zero-prefixed octal literals are just too widely used (and mostly understood)
|
|
Style/NumericLiteralPrefix:
|
|
EnforcedOctalStyle: zero_only
|
|
|
|
# consistency and readability when faced with string interpolation
|
|
Style/PercentLiteralDelimiters:
|
|
PreferredDelimiters:
|
|
'%': '()'
|
|
'%i': '()'
|
|
'%q': '()'
|
|
'%Q': '()'
|
|
'%r': '{}'
|
|
'%s': '()'
|
|
'%w': '[]'
|
|
'%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
|
|
|
|
# not a problem for typical shell users
|
|
Style/SpecialGlobalVars:
|
|
Enabled: false
|
|
|
|
# ruby style guide favorite
|
|
Style/StringLiterals:
|
|
EnforcedStyle: double_quotes
|
|
|
|
# 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
|
|
|
|
# makes diffs nicer
|
|
Style/TrailingCommaInLiteral:
|
|
EnforcedStyleForMultiline: comma
|
|
|
|
Style/UnneededCapitalW:
|
|
Enabled: false
|
|
|
|
# TODO: enforce when rubocop has fixed this
|
|
# https://github.com/bbatsov/rubocop/issues/3516
|
|
Style/VariableNumber:
|
|
Enabled: false
|
|
|
|
# TODO: enforce when rubocop has fixed this
|
|
# https://github.com/bbatsov/rubocop/issues/1543
|
|
Style/WordArray:
|
|
Enabled: false
|