forked from rspec/rspec-expectations
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.rubocop.yml
101 lines (76 loc) · 2.47 KB
/
.rubocop.yml
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
AccessModifierIndentation:
EnforcedStyle: outdent
# "Use alias_method instead of alias"
# We're fine with `alias`.
Alias:
Enabled: false
AlignParameters:
EnforcedStyle: with_first_parameter
# Warns when the class is excessively long.
ClassLength:
Max: 118 # RaiseError matcher.
# Over time we'd like to get this down, but this is what we're at now.
CyclomaticComplexity:
Max: 10
# "Avoid the use of the case equality operator ==="
# We prefer using `Class#===` over `Object#is_a?` because `Class#===`
# is less likely to be monkey patched than `is_a?` on a user object.
CaseEquality:
Enabled: false
CollectionMethods:
PreferredMethods:
reduce: 'inject'
# We use YARD to enforce documentation. It works better than rubocop's
# enforcement...rubocop complains about the places we re-open
# `RSpec::Expectations` and `RSpec::Matchers` w/o having doc commments.
Documentation:
Enabled: false
DoubleNegation:
Enabled: false
# each_with_object is unavailable on 1.8.7 so we have to disable this one.
EachWithObject:
Enabled: false
Encoding:
EnforcedStyle: when_needed
FormatString:
EnforcedStyle: percent
# As long as we support ruby 1.8.7 we have to use hash rockets.
HashSyntax:
EnforcedStyle: hash_rockets
# We can't use the new lambda syntax, since we still support 1.8.7.
Lambda:
Enabled: false
# Over time we'd like to get this down, but this is what we're at now.
LineLength:
Max: 186
# Over time we'd like to get this down, but this is what we're at now.
MethodLength:
Max: 15
# Who cares what we all the argument for binary operator methods?
OpMethod:
Enabled: false
PercentLiteralDelimiters:
PreferredDelimiters:
"%w": '[]'
PredicateName:
NamePrefixBlacklist: ["have_"]
# On 1.8 `proc` is `lambda`, so we use `Proc.new` to ensure we get real procs on all supported versions.
# http://batsov.com/articles/2014/02/04/the-elements-of-style-in-ruby-number-12-proc-vs-proc-dot-new/
Proc:
Enabled: false
RedundantReturn:
AllowMultipleReturnValues: true
# We have to rescue Exception in the `raise_error` matcher for it to work properly.
RescueException:
Enabled: false
# We haven't adopted the `fail` to signal exceptions vs `raise` for re-raises convention.
SignalException:
Enabled: false
# We've tended to use no space, so it's less of a change to stick with that.
SpaceAroundEqualsInParameterDefault:
EnforcedStyle: no_space
# We don't care about single vs double qoutes.
StringLiterals:
Enabled: false
TrivialAccessors:
AllowPredicates: true