aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/.rubocop.yml
blob: e0089e05005efc56c9bd6f2cede4f29aa73a39b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
inherit_from:
  - ../.rubocop.yml

AllCops:
  Include:
    - '**/.simplecov'
  Exclude:
    - 'bin/*'
    - '**/Casks/**/*'
    - '**/vendor/**/*'

Layout/MultilineMethodCallIndentation:
  Exclude:
    - '**/*_spec.rb'

# so many of these in formulae but none in here
Lint/AmbiguousRegexpLiteral:
  Enabled: true

# `formula do` uses nested method definitions
Lint/NestedMethodDefinition:
  Exclude:
    - 'test/**/*'

# so many of these in formulae but none in here
Lint/ParenthesesAsGroupedExpression:
  Enabled: true

# TODO: try to bring down all metrics maximums
Metrics/AbcSize:
  Max: 250

Metrics/BlockLength:
  Max: 1250

Metrics/BlockNesting:
  Max: 5

Metrics/ClassLength:
  Max: 1226

Metrics/CyclomaticComplexity:
  Max: 75

Metrics/LineLength:
  # 124 is the goal as GitHub diff UI wraps beyond that
  Max: 244
  # ignore manpage comments
  IgnoredPatterns: ['#: ']

Metrics/MethodLength:
  Max: 195

Metrics/ModuleLength:
  Max: 222

Metrics/PerceivedComplexity:
  Max: 100

# we won't change backward compatible method names
Naming/MethodName:
  Exclude:
    - 'compat/**/*'

# we won't change backward compatible predicate names
Naming/PredicateName:
  Exclude:
    - 'compat/**/*'
  NameWhitelist: is_32_bit?, is_64_bit?

Style/BlockDelimiters:
  Exclude:
    - '**/*_spec.rb'
    - '**/shared_examples/**/*.rb'

# so many of these in formulae but none in here
Style/GuardClause:
  Enabled: true

# hash-rockets preferred for formulae, a: 1 preferred elsewhere
Style/HashSyntax:
  EnforcedStyle: ruby19_no_mixed_keys

# so many of these in formulae but none in here
Style/TrailingBodyOnMethodDefinition:
  Enabled: true