-
Notifications
You must be signed in to change notification settings - Fork 20
/
.rubocop.yml
137 lines (100 loc) · 2.4 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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
require: rubocop-performance
AllCops:
Include:
- 'lib/**/*'
Exclude:
- 'Rakefile'
- 'Gemfile'
- 'Guardfile'
- '**/*.erb'
- '**/*.js'
- '**/*.css'
- 'spec/*'
- 'spec/**/*'
- 'vendor/**/*'
- 'benchmarks/*'
- 'profile/*'
- 'bin/*'
- 'daru-view.gemspec'
- '**/*.rake'
- '**/.rb'
DisplayCopNames: true
TargetRubyVersion: 2.4
# Preferred codebase style ---------------------------------------------
Layout/ExtraSpacing:
AllowForAlignment: true
Style/FormatString:
EnforcedStyle: percent
Style/AndOr:
EnforcedStyle: conditionals
Layout/SpaceAroundEqualsInParameterDefault:
EnforcedStyle: no_space
Layout/SpaceInsideBlockBraces:
EnforcedStyle: space
Layout/SpaceInsideHashLiteralBraces:
EnforcedStyle: no_space
Layout/ParameterAlignment:
EnforcedStyle: with_fixed_indentation
Style/EmptyElse:
EnforcedStyle: empty
Metrics/LineLength:
Max: 120
Metrics/ModuleLength:
Max: 200
Metrics/ClassLength:
Max: 200
Style/ParallelAssignment:
Enabled: false
Style/DoubleNegation:
Enabled: false
Style/SingleLineBlockParams:
Enabled: false
Style/PerlBackrefs:
Enabled: false
# Tried to disable in the file itself but this style rubocop was not there in
# ruby 2.0, so it threw Lint/UnneededDisable rubocop offence.
Style/MixinUsage:
Exclude:
- 'lib/daru/view/plot_list.rb'
Layout/SpaceAfterComma:
Enabled: false
Layout/SpaceAroundOperators:
Enabled: false
Style/EmptyCaseCondition:
Enabled: false
Style/MultilineBlockChain:
Enabled: false
# See https://github.com/bbatsov/rubocop/issues/4429
Style/YodaCondition:
Enabled: false
Style/PercentLiteralDelimiters:
PreferredDelimiters:
'%i': '[]'
'%w': '[]'
# Neither of prefered styles are good enough :(
Style/BlockDelimiters:
Enabled: false
# Current preferred metrics --------------------------------------------
# Better values are encouraged, but not required.
Metrics/AbcSize:
Max: 20
Metrics/MethodLength:
Max: 15
Metrics/CyclomaticComplexity:
Max: 7
# TODO -----------------------------------------------------------------
Style/Documentation:
Enabled: false
Security/MarshalLoad:
Enabled: false
Performance/RedundantMatch:
Enabled: false
# Must be removed in future
Lint/DuplicateMethods:
Enabled: false
Naming/HeredocDelimiterNaming:
Enabled: false
Style/FrozenStringLiteralComment:
Enabled: false
Metrics/AbcSize:
Enabled: false