aboutsummaryrefslogtreecommitdiffstats
path: root/Library/.rubocop.yml
blob: a3e2800ebade14f06669dd3df01922b6c2f95f99 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# 1.8-style hash keys
Style/HashSyntax:
    EnforcedStyle: hash_rockets

# ruby style guide favorite
Style/StringLiterals:
    EnforcedStyle: double_quotes

# consistency with above
Style/StringLiteralsInInterpolation:
    EnforcedStyle: double_quotes

# percent-x is allowed for multiline
Style/CommandLiteral:
    EnforcedStyle: mixed

# paths abound, easy escape
Style/RegexpLiteral:
    EnforcedStyle: slashes

# 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

# port numbers and such tech stuff
Style/NumericLiterals:
    Enabled: false

# consistency and readability when faced with string interpolation
Style/PercentLiteralDelimiters:
    PreferredDelimiters:
        '%':  '()'
        '%i': '()'
        '%q': '()'
        '%Q': '()'
        '%r': '{}'
        '%s': '()'
        '%w': '[]'
        '%W': '[]'
        '%x': '()'

# comma on last element is editor friendly
Style/TrailingComma:
    EnforcedStyleForMultiline: comma

# conflicts with DSL-style path concatenation with `/`
Style/SpaceAroundOperators:
    Enabled: false

# not a problem for typical shell users
Style/SpecialGlobalVars:
    Enabled: false

# `system` is a special case and aligns on second argument
Style/AlignParameters:
    Enabled: false

# counterproductive in formulas, notably within the install method
Style/GuardClause:
    Enabled: false
Style/IfUnlessModifier:
    Enabled: false

# dashes in filenames are typical
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/1545
Style/FileName:
    Enabled: false

# 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

# TODO: rubocop bug regarding __END__
# see https://github.com/bbatsov/rubocop/issues/1541
Style/TrailingWhitespace:
    Enabled: false
Style/Tab:
    Enabled: false
Style/TrailingBlankLines:
    Enabled: false