supa 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d6a5a38a7de951369b540fcbb39e54a50cba0ed
4
- data.tar.gz: 49899892cd5f32fe41f650146790dcaabda04318
3
+ metadata.gz: 6e2c40069f7567a04aa9b40a1e4bcef2f0e5fe60
4
+ data.tar.gz: 01f250bcc4aa0ec341e7038ad681dd1563e3fed3
5
5
  SHA512:
6
- metadata.gz: 07bc54612b98b178c79217479ceaccd141e5f34dea1dd85fadb14385e9f40c6f5deaba4c28d41575e125494ce1440e6dc4bf7b173b9db14f6593c060bbf4f473
7
- data.tar.gz: a94ccdbf212c62e09c4adcabdb70b3627edbc606d0d769998d7fee75315e64722d5437a32ef06a70baf332fdd81af567321f3bfb21b28f3d1939421879fb0c13
6
+ metadata.gz: 719452502d5ed455cc5431a3fd79af8a78927452856dbed029931b2c6089d9813c13bcc426ce074dce87bb1aa607659b039d22fb93ef274494499996d7bb9ddc
7
+ data.tar.gz: c046f04006a56ac6faae75fb4123a96e92f78a6cc3d04c3ce90d80b4deee5fad541c6ea3a07264a4cb61a0f396a40f6c1f973cf4a9ce3319227c02b365fb42af
data/.codeclimate.yml CHANGED
@@ -2,19 +2,22 @@
2
2
  engines:
3
3
  duplication:
4
4
  enabled: true
5
- exclude_paths:
6
- - spec/
5
+ exclude_fingerprints:
6
+ - 8fafabb5096a8bf78bd572e945af11c7
7
+ - ae15dfea2e23ace8e7ac8f970d624a67
8
+ - 47ba1ed25f6c2341a41c4be35a5575c5
9
+ - 3bde68650c7c2b328cb49485ce794235
10
+ - 190256b661c5354e34dc7a770e65da42
11
+ - 190256b661c5354e34dc7a770e65da42
7
12
  config:
8
13
  languages:
9
- ruby:
10
- mass_threshold: 30
11
- rubocop:
14
+ - ruby
15
+ fixme:
12
16
  enabled: true
13
- reek:
17
+ rubocop:
14
18
  enabled: true
15
19
  ratings:
16
20
  paths:
17
21
  - "**.rb"
18
22
  exclude_paths:
19
- - tmp/
20
- - spec/fixtures/
23
+ - spec/
data/.rubocop.yml CHANGED
@@ -1,1342 +1,1156 @@
1
- #########################################################
2
- # THIS CONFIGURATION FILE IS GENERATED BY STANDARDS GEM #
3
- # https://github.com/distribusion/standards #
4
- # #
5
- # PLEASE DO NOT MODIFY THIS FILE #
6
- #########################################################
7
- ---
8
1
  AllCops:
9
- # Include common Ruby source files.
10
- Include:
11
- - '**/*.gemspec'
12
- - '**/*.rake'
13
- - '**/config.ru'
14
- - '**/Gemfile'
15
- - '**/Rakefile'
16
- - '**/Capfile'
17
- - '**/Guardfile'
18
- Exclude:
19
- - 'vendor/**/*'
20
- # Default formatter will be used if no -f/--format option is given.
21
- DefaultFormatter: progress
22
- # Cop names are not displayed in offense messages by default. Change behavior
23
- # by overriding DisplayCopNames, or by giving the -D/--display-cop-names
24
- # option.
25
- DisplayCopNames: false
26
- # Style guide URLs are not displayed in offense messages by default. Change
27
- # behavior by overriding DisplayStyleGuide, or by giving the
28
- # -S/--display-style-guide option.
29
- DisplayStyleGuide: false
30
- # When specifying style guide URLs, any paths and/or fragments will be
31
- # evaluated relative to the base URL.
32
- StyleGuideBaseURL: https://github.com/bbatsov/ruby-style-guide
33
- # Extra details are not displayed in offense messages by default. Change
34
- # behavior by overriding ExtraDetails, or by giving the
35
- # -E/--extra-details option.
36
- ExtraDetails: false
37
- # Additional cops that do not reference a style guide rule may be enabled by
38
- # default. Change behavior by overriding StyleGuideCopsOnly, or by giving
39
- # the --only-guide-cops option.
40
- StyleGuideCopsOnly: false
41
- # All cops except the ones in disabled.yml are enabled by default. Change
42
- # this behavior by overriding DisabledByDefault. When DisabledByDefault is
43
- # true, all cops in the default configuration are disabled, and and only cops
44
- # in user configuration are enabled. This makes cops opt-in instead of
45
- # opt-out. Note that when DisabledByDefault is true, cops in user
46
- # configuration will be enabled even if they don't set the Enabled parameter.
47
- DisabledByDefault: false
48
- # Enables the result cache if true. Can be overridden by the --cache command
49
- # line option.
50
- UseCache: true
51
- # Threshold for how many files can be stored in the result cache before some
52
- # of the files are automatically removed.
53
- MaxFilesInCache: 20000
54
- # The cache will be stored in "rubocop_cache" under this directory. The name
55
- # "/tmp" is special and will be converted to the system temporary directory,
56
- # which is "/tmp" on Unix-like systems, but could be something else on other
57
- # systems.
58
- CacheRootDirectory: /tmp
59
- # The default cache root directory is /tmp, which on most systems is
60
- # writable by any system user. This means that it is possible for a
61
- # malicious user to anticipate the location of Rubocop's cache directory,
62
- # and create a symlink in its place that could cause Rubocop to overwrite
63
- # unintended files, or read malicious input. If you are certain that your
64
- # cache location is secure from this kind of attack, and wish to use a
65
- # symlinked cache location, set this value to "true".
66
- AllowSymlinksInCacheRootDirectory: false
67
- # What MRI version of the Ruby interpreter is the inspected code intended to
68
- # run on? (If there is more than one, set this to the lowest version.)
69
- # If a value is specified for TargetRubyVersion then it is used.
70
- # Else if .ruby-version exists and it contains an MRI version it is used.
71
- # Otherwise we fallback to the oldest officially supported Ruby version (2.1).
72
- TargetRubyVersion: ~
73
-
74
- # Indent private/protected/public as deep as method definitions
2
+ DisabledByDefault: true
3
+
4
+ #################### Lint ################################
5
+
6
+ Lint/AmbiguousOperator:
7
+ Description: >-
8
+ Checks for ambiguous operators in the first argument of a
9
+ method invocation without parentheses.
10
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
11
+ Enabled: true
12
+
13
+ Lint/AmbiguousRegexpLiteral:
14
+ Description: >-
15
+ Checks for ambiguous regexp literals in the first argument of
16
+ a method invocation without parenthesis.
17
+ Enabled: true
18
+
19
+ Lint/AssignmentInCondition:
20
+ Description: "Don't use assignment in conditions."
21
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
22
+ Enabled: true
23
+
24
+ Lint/BlockAlignment:
25
+ Description: 'Align block ends correctly.'
26
+ Enabled: true
27
+
28
+ Lint/CircularArgumentReference:
29
+ Description: "Don't refer to the keyword argument in the default value."
30
+ Enabled: true
31
+
32
+ Lint/ConditionPosition:
33
+ Description: >-
34
+ Checks for condition placed in a confusing position relative to
35
+ the keyword.
36
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
37
+ Enabled: true
38
+
39
+ Lint/Debugger:
40
+ Description: 'Check for debugger calls.'
41
+ Enabled: true
42
+
43
+ Lint/DefEndAlignment:
44
+ Description: 'Align ends corresponding to defs correctly.'
45
+ Enabled: true
46
+
47
+ Lint/DeprecatedClassMethods:
48
+ Description: 'Check for deprecated class method calls.'
49
+ Enabled: true
50
+
51
+ Lint/DuplicateMethods:
52
+ Description: 'Check for duplicate methods calls.'
53
+ Enabled: true
54
+
55
+ Lint/EachWithObjectArgument:
56
+ Description: 'Check for immutable argument given to each_with_object.'
57
+ Enabled: true
58
+
59
+ Lint/ElseLayout:
60
+ Description: 'Check for odd code arrangement in an else block.'
61
+ Enabled: true
62
+
63
+ Lint/EmptyEnsure:
64
+ Description: 'Checks for empty ensure block.'
65
+ Enabled: true
66
+
67
+ Lint/EmptyInterpolation:
68
+ Description: 'Checks for empty string interpolation.'
69
+ Enabled: true
70
+
71
+ Lint/EndAlignment:
72
+ Description: 'Align ends correctly.'
73
+ Enabled: true
74
+
75
+ Lint/EndInMethod:
76
+ Description: 'END blocks should not be placed inside method definitions.'
77
+ Enabled: true
78
+
79
+ Lint/EnsureReturn:
80
+ Description: 'Do not use return in an ensure block.'
81
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
82
+ Enabled: true
83
+
84
+ Lint/Eval:
85
+ Description: 'The use of eval represents a serious security risk.'
86
+ Enabled: true
87
+
88
+ Lint/FormatParameterMismatch:
89
+ Description: 'The number of parameters to format/sprint must match the fields.'
90
+ Enabled: true
91
+
92
+ Lint/HandleExceptions:
93
+ Description: "Don't suppress exception."
94
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
95
+ Enabled: true
96
+
97
+ Lint/InvalidCharacterLiteral:
98
+ Description: >-
99
+ Checks for invalid character literals with a non-escaped
100
+ whitespace character.
101
+ Enabled: true
102
+
103
+ Lint/LiteralInCondition:
104
+ Description: 'Checks of literals used in conditions.'
105
+ Enabled: true
106
+
107
+ Lint/LiteralInInterpolation:
108
+ Description: 'Checks for literals used in interpolation.'
109
+ Enabled: true
110
+
111
+ Lint/Loop:
112
+ Description: >-
113
+ Use Kernel#loop with break rather than begin/end/until or
114
+ begin/end/while for post-loop tests.
115
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
116
+ Enabled: true
117
+
118
+ Lint/NestedMethodDefinition:
119
+ Description: 'Do not use nested method definitions.'
120
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
121
+ Enabled: true
122
+
123
+ Lint/NonLocalExitFromIterator:
124
+ Description: 'Do not use return in iterator to cause non-local exit.'
125
+ Enabled: true
126
+
127
+ Lint/ParenthesesAsGroupedExpression:
128
+ Description: >-
129
+ Checks for method calls with a space before the opening
130
+ parenthesis.
131
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
132
+ Enabled: true
133
+
134
+ Lint/RequireParentheses:
135
+ Description: >-
136
+ Use parentheses in the method call to avoid confusion
137
+ about precedence.
138
+ Enabled: true
139
+
140
+ Lint/RescueException:
141
+ Description: 'Avoid rescuing the Exception class.'
142
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
143
+ Enabled: true
144
+
145
+ Lint/ShadowingOuterLocalVariable:
146
+ Description: >-
147
+ Do not use the same name as outer local variable
148
+ for block arguments or block local variables.
149
+ Enabled: true
150
+
151
+ Lint/StringConversionInInterpolation:
152
+ Description: 'Checks for Object#to_s usage in string interpolation.'
153
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
154
+ Enabled: true
155
+
156
+ Lint/UnderscorePrefixedVariableName:
157
+ Description: 'Do not use prefix `_` for a variable that is used.'
158
+ Enabled: true
159
+
160
+ Lint/UnneededDisable:
161
+ Description: >-
162
+ Checks for rubocop:disable comments that can be removed.
163
+ Note: this cop is not disabled when disabling all cops.
164
+ It must be explicitly disabled.
165
+ Enabled: true
166
+
167
+ Lint/UnusedBlockArgument:
168
+ Description: 'Checks for unused block arguments.'
169
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
170
+ Enabled: true
171
+
172
+ Lint/UnusedMethodArgument:
173
+ Description: 'Checks for unused method arguments.'
174
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
175
+ Enabled: true
176
+
177
+ Lint/UnreachableCode:
178
+ Description: 'Unreachable code.'
179
+ Enabled: true
180
+
181
+ Lint/UselessAccessModifier:
182
+ Description: 'Checks for useless access modifiers.'
183
+ Enabled: true
184
+
185
+ Lint/UselessAssignment:
186
+ Description: 'Checks for useless assignment to a local variable.'
187
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
188
+ Enabled: true
189
+
190
+ Lint/UselessComparison:
191
+ Description: 'Checks for comparison of something with itself.'
192
+ Enabled: true
193
+
194
+ Lint/UselessElseWithoutRescue:
195
+ Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
196
+ Enabled: true
197
+
198
+ Lint/UselessSetterCall:
199
+ Description: 'Checks for useless setter call to a local variable.'
200
+ Enabled: true
201
+
202
+ Lint/Void:
203
+ Description: 'Possible use of operator/literal/variable in void context.'
204
+ Enabled: true
205
+
206
+ ###################### Metrics ####################################
207
+
208
+ Metrics/AbcSize:
209
+ Description: >-
210
+ A calculated magnitude based on number of assignments,
211
+ branches, and conditions.
212
+ Reference: 'http://c2.com/cgi/wiki?AbcMetric'
213
+ Enabled: false
214
+ Max: 20
215
+
216
+ Metrics/BlockNesting:
217
+ Description: 'Avoid excessive block nesting'
218
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
219
+ Enabled: true
220
+ Max: 4
221
+
222
+ Metrics/ClassLength:
223
+ Description: 'Avoid classes longer than 250 lines of code.'
224
+ Enabled: true
225
+ Max: 250
226
+
227
+ Metrics/CyclomaticComplexity:
228
+ Description: >-
229
+ A complexity metric that is strongly correlated to the number
230
+ of test cases needed to validate a method.
231
+ Enabled: true
232
+
233
+ Metrics/LineLength:
234
+ Description: 'Limit lines to 80 characters.'
235
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
236
+ Enabled: false
237
+
238
+ Metrics/MethodLength:
239
+ Description: 'Avoid methods longer than 30 lines of code.'
240
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
241
+ Enabled: true
242
+ Max: 30
243
+
244
+ Metrics/ModuleLength:
245
+ Description: 'Avoid modules longer than 250 lines of code.'
246
+ Enabled: true
247
+ Max: 250
248
+
249
+ Metrics/ParameterLists:
250
+ Description: 'Avoid parameter lists longer than three or four parameters.'
251
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
252
+ Enabled: true
253
+
254
+ Metrics/PerceivedComplexity:
255
+ Description: >-
256
+ A complexity metric geared towards measuring complexity for a
257
+ human reader.
258
+ Enabled: false
259
+
260
+ ##################### Performance #############################
261
+
262
+ Performance/Count:
263
+ Description: >-
264
+ Use `count` instead of `select...size`, `reject...size`,
265
+ `select...count`, `reject...count`, `select...length`,
266
+ and `reject...length`.
267
+ Enabled: true
268
+
269
+ Performance/Detect:
270
+ Description: >-
271
+ Use `detect` instead of `select.first`, `find_all.first`,
272
+ `select.last`, and `find_all.last`.
273
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
274
+ Enabled: true
275
+
276
+ Performance/FlatMap:
277
+ Description: >-
278
+ Use `Enumerable#flat_map`
279
+ instead of `Enumerable#map...Array#flatten(1)`
280
+ or `Enumberable#collect..Array#flatten(1)`
281
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
282
+ Enabled: true
283
+ EnabledForFlattenWithoutParams: false
284
+ # If enabled, this cop will warn about usages of
285
+ # `flatten` being called without any parameters.
286
+ # This can be dangerous since `flat_map` will only flatten 1 level, and
287
+ # `flatten` without any parameters can flatten multiple levels.
288
+
289
+ Performance/ReverseEach:
290
+ Description: 'Use `reverse_each` instead of `reverse.each`.'
291
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
292
+ Enabled: true
293
+
294
+ Performance/Sample:
295
+ Description: >-
296
+ Use `sample` instead of `shuffle.first`,
297
+ `shuffle.last`, and `shuffle[Fixnum]`.
298
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
299
+ Enabled: true
300
+
301
+ Performance/Size:
302
+ Description: >-
303
+ Use `size` instead of `count` for counting
304
+ the number of elements in `Array` and `Hash`.
305
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
306
+ Enabled: true
307
+
308
+ Performance/StringReplacement:
309
+ Description: >-
310
+ Use `tr` instead of `gsub` when you are replacing the same
311
+ number of characters. Use `delete` instead of `gsub` when
312
+ you are deleting characters.
313
+ Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
314
+ Enabled: true
315
+
316
+ ##################### Rails ##################################
317
+
318
+ Rails/ActionFilter:
319
+ Description: 'Enforces consistent use of action filter methods.'
320
+ Enabled: false
321
+
322
+ Rails/Date:
323
+ Description: >-
324
+ Checks the correct usage of date aware methods,
325
+ such as Date.today, Date.current etc.
326
+ Enabled: false
327
+
328
+ Rails/Delegate:
329
+ Description: 'Prefer delegate method for delegations.'
330
+ Enabled: false
331
+
332
+ Rails/FindBy:
333
+ Description: 'Prefer find_by over where.first.'
334
+ Enabled: false
335
+
336
+ Rails/FindEach:
337
+ Description: 'Prefer all.find_each over all.find.'
338
+ Enabled: false
339
+
340
+ Rails/HasAndBelongsToMany:
341
+ Description: 'Prefer has_many :through to has_and_belongs_to_many.'
342
+ Enabled: false
343
+
344
+ Rails/Output:
345
+ Description: 'Checks for calls to puts, print, etc.'
346
+ Enabled: false
347
+
348
+ Rails/ReadWriteAttribute:
349
+ Description: >-
350
+ Checks for read_attribute(:attr) and
351
+ write_attribute(:attr, val).
352
+ Enabled: false
353
+
354
+ Rails/ScopeArgs:
355
+ Description: 'Checks the arguments of ActiveRecord scopes.'
356
+ Enabled: false
357
+
358
+ Rails/TimeZone:
359
+ Description: 'Checks the correct usage of time zone aware methods.'
360
+ StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
361
+ Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
362
+ Enabled: false
363
+
364
+ Rails/Validation:
365
+ Description: 'Use validates :attribute, hash of validations.'
366
+ Enabled: false
367
+
368
+ ################## Style #################################
369
+
75
370
  Style/AccessModifierIndentation:
76
- EnforcedStyle: indent
77
- SupportedStyles:
78
- - outdent
79
- - indent
80
- # By default, the indentation width from Style/IndentationWidth is used
81
- # But it can be overridden by setting this parameter
82
- IndentationWidth: ~
371
+ Description: Check indentation of private/protected visibility modifiers.
372
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
373
+ Enabled: false
83
374
 
84
375
  Style/AccessorMethodName:
85
376
  Description: Check the naming of accessor methods for get_/set_.
86
- StyleGuide: '#accessor_mutator_method_names'
377
+ Enabled: false
87
378
 
88
379
  Style/Alias:
89
- EnforcedStyle: prefer_alias_method
90
- SupportedStyles:
91
- - prefer_alias
92
- - prefer_alias_method
380
+ Description: 'Use alias_method instead of alias.'
381
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
382
+ Enabled: false
383
+
384
+ Style/AlignArray:
385
+ Description: >-
386
+ Align the elements of an array literal if they span more than
387
+ one line.
388
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
389
+ Enabled: false
93
390
 
94
- # Align the elements of a hash literal if they span more than one line.
95
391
  Style/AlignHash:
96
- # Alignment of entries using hash rocket as separator. Valid values are:
97
- #
98
- # key - left alignment of keys
99
- # 'a' => 2
100
- # 'bb' => 3
101
- # separator - alignment of hash rockets, keys are right aligned
102
- # 'a' => 2
103
- # 'bb' => 3
104
- # table - left alignment of keys, hash rockets, and values
105
- # 'a' => 2
106
- # 'bb' => 3
107
- EnforcedHashRocketStyle: key
108
- # Alignment of entries using colon as separator. Valid values are:
109
- #
110
- # key - left alignment of keys
111
- # a: 0
112
- # bb: 1
113
- # separator - alignment of colons, keys are right aligned
114
- # a: 0
115
- # bb: 1
116
- # table - left alignment of keys and values
117
- # a: 0
118
- # bb: 1
119
- EnforcedColonStyle: key
120
- # Select whether hashes that are the last argument in a method call should be
121
- # inspected? Valid values are:
122
- #
123
- # always_inspect - Inspect both implicit and explicit hashes.
124
- # Registers an offense for:
125
- # function(a: 1,
126
- # b: 2)
127
- # Registers an offense for:
128
- # function({a: 1,
129
- # b: 2})
130
- # always_ignore - Ignore both implicit and explicit hashes.
131
- # Accepts:
132
- # function(a: 1,
133
- # b: 2)
134
- # Accepts:
135
- # function({a: 1,
136
- # b: 2})
137
- # ignore_implicit - Ignore only implicit hashes.
138
- # Accepts:
139
- # function(a: 1,
140
- # b: 2)
141
- # Registers an offense for:
142
- # function({a: 1,
143
- # b: 2})
144
- # ignore_explicit - Ignore only explicit hashes.
145
- # Accepts:
146
- # function({a: 1,
147
- # b: 2})
148
- # Registers an offense for:
149
- # function(a: 1,
150
- # b: 2)
151
- EnforcedLastArgumentHashStyle: always_inspect
152
- SupportedLastArgumentHashStyles:
153
- - always_inspect
154
- - always_ignore
155
- - ignore_implicit
156
- - ignore_explicit
392
+ Description: >-
393
+ Align the elements of a hash literal if they span more than
394
+ one line.
395
+ Enabled: false
157
396
 
158
397
  Style/AlignParameters:
159
- # Alignment of parameters in multi-line method calls.
160
- #
161
- # The `with_first_parameter` style aligns the following lines along the same
162
- # column as the first parameter.
163
- #
164
- # method_call(a,
165
- # b)
166
- #
167
- # The `with_fixed_indentation` style aligns the following lines with one
168
- # level of indentation relative to the start of the line with the method call.
169
- #
170
- # method_call(a,
171
- # b)
172
- EnforcedStyle: with_fixed_indentation
173
- SupportedStyles:
174
- - with_first_parameter
175
- - with_fixed_indentation
176
- # By default, the indentation width from Style/IndentationWidth is used
177
- # But it can be overridden by setting this parameter
178
- IndentationWidth: ~
398
+ Description: >-
399
+ Align the parameters of a method call if they span more
400
+ than one line.
401
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
402
+ Enabled: false
179
403
 
180
404
  Style/AndOr:
181
- # Whether `and` and `or` are banned only in conditionals (conditionals)
182
- # or completely (always).
183
- EnforcedStyle: conditionals
184
- SupportedStyles:
185
- - always
186
- - conditionals
405
+ Description: 'Use &&/|| instead of and/or.'
406
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
407
+ Enabled: false
408
+
409
+ Style/ArrayJoin:
410
+ Description: 'Use Array#join instead of Array#*.'
411
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
412
+ Enabled: false
413
+
414
+ Style/AsciiComments:
415
+ Description: 'Use only ascii symbols in comments.'
416
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
417
+ Enabled: false
418
+
419
+ Style/AsciiIdentifiers:
420
+ Description: 'Use only ascii symbols in identifiers.'
421
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
422
+ Enabled: false
187
423
 
424
+ Style/Attr:
425
+ Description: 'Checks for uses of Module#attr.'
426
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
427
+ Enabled: false
428
+
429
+ Style/BeginBlock:
430
+ Description: 'Avoid the use of BEGIN blocks.'
431
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
432
+ Enabled: false
188
433
 
189
- # Checks if usage of %() or %Q() matches configuration.
190
434
  Style/BarePercentLiterals:
191
- EnforcedStyle: bare_percent
192
- SupportedStyles:
193
- - percent_q
194
- - bare_percent
435
+ Description: 'Checks if usage of %() or %Q() matches configuration.'
436
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
437
+ Enabled: false
438
+
439
+ Style/BlockComments:
440
+ Description: 'Do not use block comments.'
441
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
442
+ Enabled: false
443
+
444
+ Style/BlockEndNewline:
445
+ Description: 'Put end statement of multiline block on its own line.'
446
+ Enabled: false
195
447
 
196
448
  Style/BlockDelimiters:
197
- EnforcedStyle: line_count_based
198
- SupportedStyles:
199
- # The `line_count_based` style enforces braces around single line blocks and
200
- # do..end around multi-line blocks.
201
- - line_count_based
202
- # The `semantic` style enforces braces around functional blocks, where the
203
- # primary purpose of the block is to return a value and do..end for
204
- # procedural blocks, where the primary purpose of the block is its
205
- # side-effects.
206
- #
207
- # This looks at the usage of a block's method to determine its type (e.g. is
208
- # the result of a `map` assigned to a variable or passed to another
209
- # method) but exceptions are permitted in the `ProceduralMethods`,
210
- # `FunctionalMethods` and `IgnoredMethods` sections below.
211
- - semantic
212
- # The `braces_for_chaining` style enforces braces around single line blocks
213
- # and do..end around multi-line blocks, except for multi-line blocks whose
214
- # return value is being chained with another method (in which case braces
215
- # are enforced).
216
- - braces_for_chaining
217
- ProceduralMethods:
218
- # Methods that are known to be procedural in nature but look functional from
219
- # their usage, e.g.
220
- #
221
- # time = Benchmark.realtime do
222
- # foo.bar
223
- # end
224
- #
225
- # Here, the return value of the block is discarded but the return value of
226
- # `Benchmark.realtime` is used.
227
- - benchmark
228
- - bm
229
- - bmbm
230
- - create
231
- - each_with_object
232
- - measure
233
- - new
234
- - realtime
235
- - tap
236
- - with_object
237
- FunctionalMethods:
238
- # Methods that are known to be functional in nature but look procedural from
239
- # their usage, e.g.
240
- #
241
- # let(:foo) { Foo.new }
242
- #
243
- # Here, the return value of `Foo.new` is used to define a `foo` helper but
244
- # doesn't appear to be used from the return value of `let`.
245
- - let
246
- - let!
247
- - subject
248
- - watch
249
- IgnoredMethods:
250
- # Methods that can be either procedural or functional and cannot be
251
- # categorised from their usage alone, e.g.
252
- #
253
- # foo = lambda do |x|
254
- # puts "Hello, #{x}"
255
- # end
256
- #
257
- # foo = lambda do |x|
258
- # x * 100
259
- # end
260
- #
261
- # Here, it is impossible to tell from the return value of `lambda` whether
262
- # the inner block's return value is significant.
263
- - lambda
264
- - proc
265
- - it
449
+ Description: >-
450
+ Avoid using {...} for multi-line blocks (multiline chaining is
451
+ always ugly).
452
+ Prefer {...} over do...end for single-line blocks.
453
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
454
+ Enabled: false
266
455
 
267
456
  Style/BracesAroundHashParameters:
268
- EnforcedStyle: no_braces
269
- SupportedStyles:
270
- # The `braces` style enforces braces around all method parameters that are
271
- # hashes.
272
- - braces
273
- # The `no_braces` style checks that the last parameter doesn't have braces
274
- # around it.
275
- - no_braces
276
- # The `context_dependent` style checks that the last parameter doesn't have
277
- # braces around it, but requires braces if the second to last parameter is
278
- # also a hash literal.
279
- - context_dependent
280
-
281
- # Indentation of `when`.
457
+ Description: 'Enforce braces style around hash parameters.'
458
+ Enabled: false
459
+
460
+ Style/CaseEquality:
461
+ Description: 'Avoid explicit use of the case equality operator(===).'
462
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
463
+ Enabled: false
464
+
282
465
  Style/CaseIndentation:
283
- IndentWhenRelativeTo: case
284
- SupportedStyles:
285
- - case
286
- - end
287
- IndentOneStep: false
288
- # By default, the indentation width from Style/IndentationWidth is used
289
- # But it can be overridden by setting this parameter
290
- # This only matters if IndentOneStep is true
291
- IndentationWidth: ~
466
+ Description: 'Indentation of when in a case/when/[else/]end.'
467
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
468
+ Enabled: false
469
+
470
+ Style/CharacterLiteral:
471
+ Description: 'Checks for uses of character literals.'
472
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
473
+ Enabled: false
474
+
475
+ Style/ClassAndModuleCamelCase:
476
+ Description: 'Use CamelCase for classes and modules.'
477
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
478
+ Enabled: false
292
479
 
293
480
  Style/ClassAndModuleChildren:
294
- # Checks the style of children definitions at classes and modules.
295
- #
296
- # Basically there are two different styles:
297
- #
298
- # `nested` - have each child on a separate line
299
- # class Foo
300
- # class Bar
301
- # end
302
- # end
303
- #
304
- # `compact` - combine definitions as much as possible
305
- # class Foo::Bar
306
- # end
307
- #
308
- # The compact style is only forced, for classes / modules with one child.
309
- EnforcedStyle: nested
310
- SupportedStyles:
311
- - nested
312
- - compact
481
+ Description: 'Checks style of children classes and modules.'
482
+ Enabled: false
313
483
 
314
484
  Style/ClassCheck:
315
- EnforcedStyle: is_a?
316
- SupportedStyles:
317
- - is_a?
318
- - kind_of?
319
-
320
- # Align with the style guide.
321
- Style/CollectionMethods:
322
- # Mapping from undesired method to desired_method
323
- # e.g. to use `detect` over `find`:
324
- #
325
- # CollectionMethods:
326
- # PreferredMethods:
327
- # find: detect
328
- PreferredMethods:
329
- collect: 'map'
330
- collect!: 'map!'
331
- inject: 'reduce'
332
- detect: 'find'
333
- find_all: 'select'
334
-
335
- # Use ` or %x around command literals.
485
+ Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
486
+ Enabled: false
487
+
488
+ Style/ClassMethods:
489
+ Description: 'Use self when defining module/class methods.'
490
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
491
+ Enabled: false
492
+
493
+ Style/ClassVars:
494
+ Description: 'Avoid the use of class variables.'
495
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
496
+ Enabled: false
497
+
498
+ Style/ClosingParenthesisIndentation:
499
+ Description: 'Checks the indentation of hanging closing parentheses.'
500
+ Enabled: false
501
+
502
+ Style/ColonMethodCall:
503
+ Description: 'Do not use :: for method call.'
504
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
505
+ Enabled: false
506
+
336
507
  Style/CommandLiteral:
337
- EnforcedStyle: mixed
338
- # backticks: Always use backticks.
339
- # percent_x: Always use %x.
340
- # mixed: Use backticks on single-line commands, and %x on multi-line commands.
341
- SupportedStyles:
342
- - backticks
343
- - percent_x
344
- - mixed
345
- # If false, the cop will always recommend using %x if one or more backticks
346
- # are found in the command string.
347
- AllowInnerBackticks: false
348
-
349
- # Checks formatting of special comments
508
+ Description: 'Use `` or %x around command literals.'
509
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
510
+ Enabled: false
511
+
350
512
  Style/CommentAnnotation:
351
- Keywords:
352
- - TODO
353
- - FIXME
354
- - OPTIMIZE
355
- - HACK
356
- - REVIEW
357
-
358
- Style/ConditionalAssignment:
359
- EnforcedStyle: assign_to_condition
360
- SupportedStyles:
361
- - assign_to_condition
362
- - assign_inside_condition
363
- # When configured to `assign_to_condition`, `SingleLineConditionsOnly`
364
- # will only register an offense when all branches of a condition are
365
- # a single line.
366
- # When configured to `assign_inside_condition`, `SingleLineConditionsOnly`
367
- # will only register an offense for assignment to a condition that has
368
- # at least one multiline branch.
369
- SingleLineConditionsOnly: true
370
-
371
- # Checks that you have put a copyright in a comment before any code.
372
- #
373
- # You can override the default Notice in your .rubocop.yml file.
374
- #
375
- # In order to use autocorrect, you must supply a value for the
376
- # AutocorrectNotice key that matches the regexp Notice. A blank
377
- # AutocorrectNotice will cause an error during autocorrect.
378
- #
379
- # Autocorrect will add a copyright notice in a comment at the top
380
- # of the file immediately after any shebang or encoding comments.
381
- #
382
- # Example rubocop.yml:
383
- #
384
- # Style/Copyright:
385
- # Enabled: true
386
- # Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc'
387
- # AutocorrectNotice: '# Copyright (c) 2015 Yahoo! Inc.'
388
- #
389
- Style/Copyright:
390
- Notice: '^Copyright (\(c\) )?2[0-9]{3} .+'
391
- AutocorrectNotice: ''
513
+ Description: 'Checks formatting of annotation comments.'
514
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
515
+ Enabled: false
392
516
 
393
- Style/Documentation:
517
+ Style/CommentIndentation:
518
+ Description: 'Indentation of comments.'
519
+ Enabled: false
520
+
521
+ Style/ConstantName:
522
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
523
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
524
+ Enabled: false
525
+
526
+ Style/DefWithParentheses:
527
+ Description: 'Use def with parentheses when there are arguments.'
528
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
529
+ Enabled: false
530
+
531
+ Style/PreferredHashMethods:
532
+ Description: 'Checks for use of deprecated Hash methods.'
533
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
394
534
  Enabled: false
395
535
 
396
- Style/DocumentationMethod:
397
- RequireForNonPublicMethods: false
536
+ Style/Documentation:
537
+ Description: 'Document classes and non-namespace modules.'
538
+ Enabled: false
398
539
 
399
- # Multi-line method chaining should be done with leading dots.
400
540
  Style/DotPosition:
401
- EnforcedStyle: leading
402
- SupportedStyles:
403
- - leading
404
- - trailing
405
-
406
- # Warn on empty else statements
407
- # empty - warn only on empty else
408
- # nil - warn on else with nil in it
409
- # both - warn on empty else and else with nil in it
541
+ Description: 'Checks the position of the dot in multi-line method calls.'
542
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
543
+ Enabled: false
544
+
545
+ Style/DoubleNegation:
546
+ Description: 'Checks for uses of double negation (!!).'
547
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
548
+ Enabled: false
549
+
550
+ Style/EachWithObject:
551
+ Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
552
+ Enabled: false
553
+
554
+ Style/ElseAlignment:
555
+ Description: 'Align elses and elsifs correctly.'
556
+ Enabled: false
557
+
410
558
  Style/EmptyElse:
411
- EnforcedStyle: both
412
- SupportedStyles:
413
- - empty
414
- - nil
415
- - both
559
+ Description: 'Avoid empty else-clauses.'
560
+ Enabled: false
416
561
 
417
- # Use empty lines between defs.
418
562
  Style/EmptyLineBetweenDefs:
419
- # If true, this parameter means that single line method definitions don't
420
- # need an empty line between them.
421
- AllowAdjacentOneLineDefs: false
563
+ Description: 'Use empty lines between defs.'
564
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
565
+ Enabled: false
566
+
567
+ Style/EmptyLines:
568
+ Description: "Don't use several empty lines in a row."
569
+ Enabled: false
570
+
571
+ Style/EmptyLinesAroundAccessModifier:
572
+ Description: "Keep blank lines around access modifiers."
573
+ Enabled: false
422
574
 
423
575
  Style/EmptyLinesAroundBlockBody:
424
- EnforcedStyle: no_empty_lines
425
- SupportedStyles:
426
- - empty_lines
427
- - no_empty_lines
576
+ Description: "Keeps track of empty lines around block bodies."
577
+ Enabled: false
428
578
 
429
579
  Style/EmptyLinesAroundClassBody:
430
- EnforcedStyle: no_empty_lines
431
- SupportedStyles:
432
- - empty_lines
433
- - empty_lines_except_namespace
434
- - empty_lines_special
435
- - no_empty_lines
580
+ Description: "Keeps track of empty lines around class bodies."
581
+ Enabled: false
436
582
 
437
583
  Style/EmptyLinesAroundModuleBody:
438
- EnforcedStyle: no_empty_lines
439
- SupportedStyles:
440
- - empty_lines
441
- - empty_lines_except_namespace
442
- - empty_lines_special
443
- - no_empty_lines
444
-
445
- # NOT IMPLEMENTED YET
446
- # Style/EmptyMethod:
447
- # EnforcedStyle: compact
448
- # SupportedStyles:
449
- # - compact
450
- # - expanded
451
-
452
- # Checks whether the source file has a utf-8 encoding comment or not
453
- # AutoCorrectEncodingComment must match the regex
454
- # /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
455
- Style/Encoding:
456
- EnforcedStyle: never
457
- SupportedStyles:
458
- - when_needed
459
- - always
460
- - never
461
- AutoCorrectEncodingComment: '# encoding: utf-8'
584
+ Description: "Keeps track of empty lines around module bodies."
585
+ Enabled: false
586
+
587
+ Style/EmptyLinesAroundMethodBody:
588
+ Description: "Keeps track of empty lines around method bodies."
589
+ Enabled: false
590
+
591
+ Style/EmptyLiteral:
592
+ Description: 'Prefer literals to Array.new/Hash.new/String.new.'
593
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
594
+ Enabled: false
595
+
596
+ Style/EndBlock:
597
+ Description: 'Avoid the use of END blocks.'
598
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
599
+ Enabled: false
600
+
601
+ Style/EndOfLine:
602
+ Description: 'Use Unix-style line endings.'
603
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
604
+ Enabled: false
605
+
606
+ Style/EvenOdd:
607
+ Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
608
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
609
+ Enabled: false
462
610
 
463
611
  Style/ExtraSpacing:
464
- # When true, allows most uses of extra spacing if the intent is to align
465
- # things with the previous or next line, not counting empty lines or comment
466
- # lines.
467
- AllowForAlignment: true
468
- # When true, forces the alignment of = in assignments on consecutive lines.
469
- ForceEqualSignAlignment: false
612
+ Description: 'Do not use unnecessary spacing.'
613
+ Enabled: false
470
614
 
471
615
  Style/FileName:
472
- # File names listed in AllCops:Include are excluded by default. Add extra
473
- # excludes here.
474
- Exclude: []
475
- # When true, requires that each source file should define a class or module
476
- # with a name which matches the file name (converted to ... case).
477
- # It further expects it to be nested inside modules which match the names
478
- # of subdirectories in its path.
479
- ExpectMatchingDefinition: false
480
- # If non-nil, expect all source file names to match the following regex.
481
- # Only the file name itself is matched, not the entire file path.
482
- # Use anchors as necessary if you want to match the entire name rather than
483
- # just a part of it.
484
- Regex: ~
485
- # With `IgnoreExecutableScripts` set to `true`, this cop does not
486
- # report offending filenames for executable scripts (i.e. source
487
- # files with a shebang in the first line).
488
- IgnoreExecutableScripts: true
616
+ Description: 'Use snake_case for source file names.'
617
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
618
+ Enabled: false
619
+
620
+ Style/InitialIndentation:
621
+ Description: >-
622
+ Checks the indentation of the first non-blank non-comment line in a file.
623
+ Enabled: false
489
624
 
490
625
  Style/FirstParameterIndentation:
491
- EnforcedStyle: special_for_inner_method_call_in_parentheses
492
- SupportedStyles:
493
- # The first parameter should always be indented one step more than the
494
- # preceding line.
495
- - consistent
496
- # The first parameter should normally be indented one step more than the
497
- # preceding line, but if it's a parameter for a method call that is itself
498
- # a parameter in a method call, then the inner parameter should be indented
499
- # relative to the inner method.
500
- - special_for_inner_method_call
501
- # Same as special_for_inner_method_call except that the special rule only
502
- # applies if the outer method call encloses its arguments in parentheses.
503
- - special_for_inner_method_call_in_parentheses
504
- # By default, the indentation width from Style/IndentationWidth is used
505
- # But it can be overridden by setting this parameter
506
- IndentationWidth: ~
507
-
508
- # Checks use of for or each in multiline loops.
626
+ Description: 'Checks the indentation of the first parameter in a method call.'
627
+ Enabled: false
628
+
629
+ Style/FlipFlop:
630
+ Description: 'Checks for flip flops'
631
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
632
+ Enabled: false
633
+
509
634
  Style/For:
510
- EnforcedStyle: each
511
- SupportedStyles:
512
- - for
513
- - each
635
+ Description: 'Checks use of for or each in multiline loops.'
636
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
637
+ Enabled: false
514
638
 
515
- # Enforce the method used for string formatting.
516
639
  Style/FormatString:
517
- EnforcedStyle: format
518
- SupportedStyles:
519
- - format
520
- - sprintf
521
- - percent
522
-
523
- Style/FrozenStringLiteralComment:
524
- EnforcedStyle: when_needed
525
- SupportedStyles:
526
- # `when_needed` will add the frozen string literal comment to files
527
- # only when the `TargetRubyVersion` is set to 2.3+.
528
- - when_needed
529
- # `always` will always add the frozen string literal comment to a file
530
- # regardless of the Ruby version or if `freeze` or `<<` are called on a
531
- # string literal. If you run code against multiple versions of Ruby, it is
532
- # possible that this will create errors in Ruby 2.3.0+.
533
- - always
534
- Exclude:
535
- - "Gemfile"
536
- - "Rakefile"
537
- - "bin/*"
538
- - "spec/spec_helper.rb"
539
- - "spec/**/*_spec.rb"
540
- - "**/*.gemspec"
541
- - "**/*.rake"
542
-
543
- # Built-in global variables are allowed by default.
640
+ Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
641
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
642
+ Enabled: false
643
+
544
644
  Style/GlobalVars:
545
- AllowedVariables: []
645
+ Description: 'Do not introduce global variables.'
646
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
647
+ Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
648
+ Enabled: false
546
649
 
547
- # `MinBodyLength` defines the number of lines of the a body of an if / unless
548
- # needs to have to trigger this cop
549
650
  Style/GuardClause:
550
- MinBodyLength: 1
651
+ Description: 'Check for conditionals that can be replaced with guard clauses'
652
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
653
+ Enabled: false
551
654
 
552
655
  Style/HashSyntax:
553
- EnforcedStyle: ruby19
554
- SupportedStyles:
555
- # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys
556
- - ruby19
557
- # checks for hash rocket syntax for all hashes
558
- - hash_rockets
559
- # forbids mixed key syntaxes (e.g. {a: 1, :b => 2})
560
- - no_mixed_keys
561
- # enforces both ruby19 and no_mixed_keys styles
562
- - ruby19_no_mixed_keys
563
- # Force hashes that have a symbol value to use hash rockets
564
- UseHashRocketsWithSymbolValues: false
565
- # Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style
566
- PreferHashRocketsForNonAlnumEndingSymbols: false
656
+ Description: >-
657
+ Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
658
+ { :a => 1, :b => 2 }.
659
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
660
+ Enabled: false
567
661
 
568
662
  Style/IfUnlessModifier:
569
- MaxLineLength: 80
663
+ Description: >-
664
+ Favor modifier if/unless usage when you have a
665
+ single-line body.
666
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
667
+ Enabled: false
668
+
669
+ Style/IfWithSemicolon:
670
+ Description: 'Do not use if x; .... Use the ternary operator instead.'
671
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
672
+ Enabled: false
570
673
 
571
674
  Style/IndentationConsistency:
572
- # The difference between `rails` and `normal` is that the `rails` style
573
- # prescribes that in classes and modules the `protected` and `private`
574
- # modifier keywords shall be indented the same as public methods and that
575
- # protected and private members shall be indented one step more than the
576
- # modifiers. Other than that, both styles mean that entities on the same
577
- # logical depth shall have the same indentation.
578
- EnforcedStyle: normal
579
- SupportedStyles:
580
- - normal
581
- - rails
675
+ Description: 'Keep indentation straight.'
676
+ Enabled: false
582
677
 
583
678
  Style/IndentationWidth:
584
- # Number of spaces for each indentation level.
585
- Width: 2
679
+ Description: 'Use 2 spaces for indentation.'
680
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
681
+ Enabled: false
586
682
 
587
- # Checks the indentation of the first element in an array literal.
588
683
  Style/IndentArray:
589
- # The value `special_inside_parentheses` means that array literals with
590
- # brackets that have their opening bracket on the same line as a surrounding
591
- # opening round parenthesis, shall have their first element indented relative
592
- # to the first position inside the parenthesis.
593
- #
594
- # The value `consistent` means that the indentation of the first element shall
595
- # always be relative to the first position of the line where the opening
596
- # bracket is.
597
- #
598
- # The value `align_brackets` means that the indentation of the first element
599
- # shall always be relative to the position of the opening bracket.
600
- EnforcedStyle: consistent
601
- SupportedStyles:
602
- - special_inside_parentheses
603
- - consistent
604
- - align_brackets
605
- # By default, the indentation width from Style/IndentationWidth is used
606
- # But it can be overridden by setting this parameter
607
- IndentationWidth: ~
608
-
609
- # Checks the indentation of assignment RHS, when on a different line from LHS
610
- Style/IndentAssignment:
611
- # By default, the indentation width from Style/IndentationWidth is used
612
- # But it can be overridden by setting this parameter
613
- IndentationWidth: ~
614
-
615
- # Checks the indentation of the first key in a hash literal.
684
+ Description: >-
685
+ Checks the indentation of the first element in an array
686
+ literal.
687
+ Enabled: false
688
+
616
689
  Style/IndentHash:
617
- # The value `special_inside_parentheses` means that hash literals with braces
618
- # that have their opening brace on the same line as a surrounding opening
619
- # round parenthesis, shall have their first key indented relative to the
620
- # first position inside the parenthesis.
621
- #
622
- # The value `consistent` means that the indentation of the first key shall
623
- # always be relative to the first position of the line where the opening
624
- # brace is.
625
- #
626
- # The value `align_braces` means that the indentation of the first key shall
627
- # always be relative to the position of the opening brace.
628
- EnforcedStyle: consistent
629
- SupportedStyles:
630
- - special_inside_parentheses
631
- - consistent
632
- - align_braces
633
- # By default, the indentation width from Style/IndentationWidth is used
634
- # But it can be overridden by setting this parameter
635
- IndentationWidth: ~
690
+ Description: 'Checks the indentation of the first key in a hash literal.'
691
+ Enabled: false
692
+
693
+ Style/InfiniteLoop:
694
+ Description: 'Use Kernel#loop for infinite loops.'
695
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
696
+ Enabled: false
636
697
 
637
698
  Style/Lambda:
638
- EnforcedStyle: literal
639
- SupportedStyles:
640
- - line_count_dependent
641
- - lambda
642
- - literal
643
-
644
- Style/SpaceInLambdaLiteral:
645
- EnforcedStyle: require_no_space
646
- SupportedStyles:
647
- - require_no_space
648
- - require_space
699
+ Description: 'Use the new lambda literal syntax for single-line blocks.'
700
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
701
+ Enabled: false
649
702
 
650
703
  Style/LambdaCall:
651
- EnforcedStyle: call
652
- SupportedStyles:
653
- - call
654
- - braces
704
+ Description: 'Use lambda.call(...) instead of lambda.(...).'
705
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
706
+ Enabled: false
655
707
 
656
- Style/Next:
657
- # With `always` all conditions at the end of an iteration needs to be
658
- # replaced by next - with `skip_modifier_ifs` the modifier if like this one
659
- # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
660
- EnforcedStyle: skip_modifier_ifs
661
- # `MinBodyLength` defines the number of lines of the a body of an if / unless
662
- # needs to have to trigger this cop
663
- MinBodyLength: 3
664
- SupportedStyles:
665
- - skip_modifier_ifs
666
- - always
708
+ Style/LeadingCommentSpace:
709
+ Description: 'Comments should start with a space.'
710
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
711
+ Enabled: false
667
712
 
668
- Style/NonNilCheck:
669
- # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
670
- # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
671
- # **usually** OK, but might change behavior.
672
- #
673
- # With `IncludeSemanticChanges` set to `false`, this cop does not report
674
- # offenses for `!x.nil?` and does no changes that might change behavior.
675
- IncludeSemanticChanges: false
676
-
677
- Style/NumericPredicate:
678
- EnforcedStyle: predicate
679
- SupportedStyles:
680
- - predicate
681
- - comparison
682
- # Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
683
- # false positives.
684
- Exclude:
685
- - 'spec/**/*'
713
+ Style/LineEndConcatenation:
714
+ Description: >-
715
+ Use \ instead of + or << to concatenate two string literals at
716
+ line end.
717
+ Enabled: false
718
+
719
+ Style/MethodCallParentheses:
720
+ Description: 'Do not use parentheses for method calls with no arguments.'
721
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
722
+ Enabled: false
686
723
 
687
724
  Style/MethodDefParentheses:
688
- EnforcedStyle: require_parentheses
689
- SupportedStyles:
690
- - require_parentheses
691
- - require_no_parentheses
692
- - require_no_parentheses_except_multiline
725
+ Description: >-
726
+ Checks if the method definitions have or don't have
727
+ parentheses.
728
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
729
+ Enabled: false
693
730
 
694
731
  Style/MethodName:
695
- EnforcedStyle: snake_case
696
- SupportedStyles:
697
- - snake_case
698
- - camelCase
732
+ Description: 'Use the configured style when naming methods.'
733
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
734
+ Enabled: false
699
735
 
700
736
  Style/ModuleFunction:
701
- EnforcedStyle: module_function
702
- SupportedStyles:
703
- - module_function
704
- - extend_self
705
-
706
- Style/MultilineArrayBraceLayout:
707
- EnforcedStyle: symmetrical
708
- SupportedStyles:
709
- # symmetrical: closing brace is positioned in same way as opening brace
710
- # new_line: closing brace is always on a new line
711
- # same_line: closing brace is always on the same line as last element
712
- - symmetrical
713
- - new_line
714
- - same_line
715
-
716
- Style/MultilineAssignmentLayout:
717
- # The types of assignments which are subject to this rule.
718
- SupportedTypes:
719
- - block
720
- - case
721
- - class
722
- - if
723
- - kwbegin
724
- - module
725
- EnforcedStyle: new_line
726
- SupportedStyles:
727
- # Ensures that the assignment operator and the rhs are on the same line for
728
- # the set of supported types.
729
- - same_line
730
- # Ensures that the assignment operator and the rhs are on separate lines
731
- # for the set of supported types.
732
- - new_line
733
-
734
- Style/MultilineHashBraceLayout:
735
- EnforcedStyle: symmetrical
736
- SupportedStyles:
737
- # symmetrical: closing brace is positioned in same way as opening brace
738
- # new_line: closing brace is always on a new line
739
- # same_line: closing brace is always on same line as last element
740
- - symmetrical
741
- - new_line
742
- - same_line
743
-
744
- Style/MultilineMethodCallBraceLayout:
745
- EnforcedStyle: symmetrical
746
- SupportedStyles:
747
- # symmetrical: closing brace is positioned in same way as opening brace
748
- # new_line: closing brace is always on a new line
749
- # same_line: closing brace is always on the same line as last argument
750
- - symmetrical
751
- - new_line
752
- - same_line
753
-
754
- Style/MultilineMethodCallIndentation:
755
- EnforcedStyle: aligned
756
- SupportedStyles:
757
- - aligned
758
- - indented
759
- - indented_relative_to_receiver
760
- # By default, the indentation width from Style/IndentationWidth is used
761
- # But it can be overridden by setting this parameter
762
- IndentationWidth: ~
763
-
764
- Style/MultilineMethodDefinitionBraceLayout:
765
- EnforcedStyle: symmetrical
766
- SupportedStyles:
767
- # symmetrical: closing brace is positioned in same way as opening brace
768
- # new_line: closing brace is always on a new line
769
- # same_line: closing brace is always on the same line as last parameter
770
- - symmetrical
771
- - new_line
772
- - same_line
737
+ Description: 'Checks for usage of `extend self` in modules.'
738
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
739
+ Enabled: false
740
+
741
+ Style/MultilineBlockChain:
742
+ Description: 'Avoid multi-line chains of blocks.'
743
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
744
+ Enabled: false
745
+
746
+ Style/MultilineBlockLayout:
747
+ Description: 'Ensures newlines after multiline block do statements.'
748
+ Enabled: false
749
+
750
+ Style/MultilineIfThen:
751
+ Description: 'Do not use then for multi-line if/unless.'
752
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
753
+ Enabled: false
773
754
 
774
755
  Style/MultilineOperationIndentation:
775
- EnforcedStyle: indented
776
- SupportedStyles:
777
- - aligned
778
- - indented
779
- # By default, the indentation width from Style/IndentationWidth is used
780
- # But it can be overridden by setting this parameter
781
- IndentationWidth: ~
756
+ Description: >-
757
+ Checks indentation of binary operations that span more than
758
+ one line.
759
+ Enabled: false
760
+
761
+ Style/MultilineTernaryOperator:
762
+ Description: >-
763
+ Avoid multi-line ?: (the ternary operator);
764
+ use if/unless instead.
765
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
766
+ Enabled: false
767
+
768
+ Style/NegatedIf:
769
+ Description: >-
770
+ Favor unless over if for negative conditions
771
+ (or control flow or).
772
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
773
+ Enabled: false
774
+
775
+ Style/NegatedWhile:
776
+ Description: 'Favor until over while for negative conditions.'
777
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
778
+ Enabled: false
779
+
780
+ Style/NestedTernaryOperator:
781
+ Description: 'Use one expression per branch in a ternary operator.'
782
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
783
+ Enabled: false
784
+
785
+ Style/Next:
786
+ Description: 'Use `next` to skip iteration instead of a condition at the end.'
787
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
788
+ Enabled: false
789
+
790
+ Style/NilComparison:
791
+ Description: 'Prefer x.nil? to x == nil.'
792
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
793
+ Enabled: false
794
+
795
+ Style/NonNilCheck:
796
+ Description: 'Checks for redundant nil checks.'
797
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
798
+ Enabled: false
799
+
800
+ Style/Not:
801
+ Description: 'Use ! instead of not.'
802
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
803
+ Enabled: false
782
804
 
783
805
  Style/NumericLiterals:
784
- MinDigits: 5
785
-
786
- Style/NumericLiteralPrefix:
787
- EnforcedOctalStyle: zero_with_o
788
- SupportedOctalStyles:
789
- - zero_with_o
790
- - zero_only
791
-
792
- Style/OptionHash:
793
- # A list of parameter names that will be flagged by this cop.
794
- SuspiciousParamNames:
795
- - options
796
- - opts
797
- - args
798
- - params
799
- - parameters
800
-
801
- # Allow safe assignment in conditions.
806
+ Description: >-
807
+ Add underscores to large numeric literals to improve their
808
+ readability.
809
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
810
+ Enabled: false
811
+
812
+ Style/OneLineConditional:
813
+ Description: >-
814
+ Favor the ternary operator(?:) over
815
+ if/then/else/end constructs.
816
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
817
+ Enabled: false
818
+
819
+ Style/OpMethod:
820
+ Description: 'When defining binary operators, name the argument other.'
821
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
822
+ Enabled: false
823
+
824
+ Style/OptionalArguments:
825
+ Description: >-
826
+ Checks for optional arguments that do not appear at the end
827
+ of the argument list
828
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
829
+ Enabled: false
830
+
831
+ Style/ParallelAssignment:
832
+ Description: >-
833
+ Check for simple usages of parallel assignment.
834
+ It will only warn when the number of variables
835
+ matches on both sides of the assignment.
836
+ This also provides performance benefits
837
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
838
+ Enabled: false
839
+
802
840
  Style/ParenthesesAroundCondition:
803
- AllowSafeAssignment: true
841
+ Description: >-
842
+ Don't use parentheses around the condition of an
843
+ if/unless/while.
844
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
845
+ Enabled: false
804
846
 
805
847
  Style/PercentLiteralDelimiters:
806
- PreferredDelimiters:
807
- '%': ()
808
- '%i': ()
809
- '%I': ()
810
- '%q': ()
811
- '%Q': ()
812
- '%r': '{}'
813
- '%s': ()
814
- '%w': ()
815
- '%W': ()
816
- '%x': '{}'
848
+ Description: 'Use `%`-literal delimiters consistently'
849
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
850
+ Enabled: false
817
851
 
818
852
  Style/PercentQLiterals:
819
- EnforcedStyle: lower_case_q
820
- SupportedStyles:
821
- - lower_case_q # Use %q when possible, %Q when necessary
822
- - upper_case_q # Always use %Q
853
+ Description: 'Checks if uses of %Q/%q match the configured preference.'
854
+ Enabled: false
855
+
856
+ Style/PerlBackrefs:
857
+ Description: 'Avoid Perl-style regex back references.'
858
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
859
+ Enabled: false
823
860
 
824
861
  Style/PredicateName:
825
- # Predicate name prefixes.
826
- NamePrefix:
827
- - is_
828
- - has_
829
- - have_
830
- # Predicate name prefixes that should be removed.
831
- NamePrefixBlacklist:
832
- - is_
833
- - has_
834
- - have_
835
- # Predicate names which, despite having a blacklisted prefix, or no ?,
836
- # should still be accepted
837
- NameWhitelist:
838
- - is_a?
839
- # Exclude Rspec specs because there is a strong convetion to write spec
840
- # helpers in the form of `have_something` or `be_something`.
841
- Exclude:
842
- - 'spec/**/*'
862
+ Description: 'Check the names of predicate methods.'
863
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
864
+ Enabled: false
843
865
 
844
- Style/PreferredHashMethods:
845
- EnforcedStyle: short
846
- SupportedStyles:
847
- - short
848
- - verbose
866
+ Style/Proc:
867
+ Description: 'Use proc instead of Proc.new.'
868
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
869
+ Enabled: false
849
870
 
850
871
  Style/RaiseArgs:
851
- EnforcedStyle: exploded
852
- SupportedStyles:
853
- - compact # raise Exception.new(msg)
854
- - exploded # raise Exception, msg
872
+ Description: 'Checks the arguments passed to raise/fail.'
873
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
874
+ Enabled: false
875
+
876
+ Style/RedundantBegin:
877
+ Description: "Don't use begin blocks when they are not needed."
878
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
879
+ Enabled: false
880
+
881
+ Style/RedundantException:
882
+ Description: "Checks for an obsolete RuntimeException argument in raise/fail."
883
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
884
+ Enabled: false
855
885
 
856
886
  Style/RedundantReturn:
857
- # When true allows code like `return x, y`.
858
- AllowMultipleReturnValues: false
887
+ Description: "Don't use return where it's not required."
888
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
889
+ Enabled: false
890
+
891
+ Style/RedundantSelf:
892
+ Description: "Don't use self where it's not needed."
893
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
894
+ Enabled: false
859
895
 
860
- # Use / or %r around regular expressions.
861
896
  Style/RegexpLiteral:
862
- EnforcedStyle: slashes
863
- # slashes: Always use slashes.
864
- # percent_r: Always use %r.
865
- # mixed: Use slashes on single-line regexes, and %r on multi-line regexes.
866
- SupportedStyles:
867
- - slashes
868
- - percent_r
869
- - mixed
870
- # If false, the cop will always recommend using %r if one or more slashes
871
- # are found in the regexp string.
872
- AllowInnerSlashes: false
873
-
874
- Style/SafeNavigation:
875
- # Safe navigation may cause a statement to start returning `nil` in addition
876
- # to whatever it used to return.
877
- ConvertCodeThatCanStartToReturnNil: false
897
+ Description: 'Use / or %r around regular expressions.'
898
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
899
+ Enabled: false
900
+
901
+ Style/RescueEnsureAlignment:
902
+ Description: 'Align rescues and ensures correctly.'
903
+ Enabled: false
904
+
905
+ Style/RescueModifier:
906
+ Description: 'Avoid using rescue in its modifier form.'
907
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
908
+ Enabled: false
909
+
910
+ Style/SelfAssignment:
911
+ Description: >-
912
+ Checks for places where self-assignment shorthand should have
913
+ been used.
914
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
915
+ Enabled: false
878
916
 
879
917
  Style/Semicolon:
880
- # Allow ; to separate several expressions on the same line.
881
- AllowAsExpressionSeparator: false
918
+ Description: "Don't use semicolons to terminate expressions."
919
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
920
+ Enabled: false
882
921
 
883
922
  Style/SignalException:
884
- EnforcedStyle: only_raise
885
- SupportedStyles:
886
- - only_raise
887
- - only_fail
888
- - semantic
923
+ Description: 'Checks for proper usage of fail and raise.'
924
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
925
+ Enabled: false
889
926
 
890
927
  Style/SingleLineBlockParams:
891
- Methods:
892
- - reduce:
893
- - acc
894
- - elem
895
- - inject:
896
- - acc
897
- - elem
928
+ Description: 'Enforces the names of some block params.'
929
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
930
+ Enabled: false
898
931
 
899
932
  Style/SingleLineMethods:
900
- AllowIfMethodIsEmpty: true
933
+ Description: 'Avoid single-line methods.'
934
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
935
+ Enabled: false
901
936
 
902
937
  Style/SpaceBeforeFirstArg:
903
- # When true, allows most uses of extra spacing if the intent is to align
904
- # things with the previous or next line, not counting empty lines or comment
905
- # lines.
906
- AllowForAlignment: false
907
-
908
- Style/SpecialGlobalVars:
909
- EnforcedStyle: use_english_names
910
- SupportedStyles:
911
- - use_perl_names
912
- - use_english_names
913
-
914
- Style/StabbyLambdaParentheses:
915
- EnforcedStyle: require_parentheses
916
- SupportedStyles:
917
- - require_parentheses
918
- - require_no_parentheses
938
+ Description: >-
939
+ Checks that exactly one space is used between a method name
940
+ and the first argument for method calls without parentheses.
941
+ Enabled: true
942
+
943
+ Style/SpaceAfterColon:
944
+ Description: 'Use spaces after colons.'
945
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
946
+ Enabled: false
919
947
 
920
- Style/StringLiterals:
921
- EnforcedStyle: single_quotes
922
- SupportedStyles:
923
- - single_quotes
924
- - double_quotes
925
- # If true, strings which span multiple lines using \ for continuation must
926
- # use the same type of quotes on each line.
927
- ConsistentQuotesInMultiline: false
948
+ Style/SpaceAfterComma:
949
+ Description: 'Use spaces after commas.'
950
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
951
+ Enabled: false
928
952
 
929
- Style/StringLiteralsInInterpolation:
930
- EnforcedStyle: single_quotes
931
- SupportedStyles:
932
- - single_quotes
933
- - double_quotes
934
-
935
- Style/StringMethods:
936
- # Mapping from undesired method to desired_method
937
- # e.g. to use `to_sym` over `intern`:
938
- #
939
- # StringMethods:
940
- # PreferredMethods:
941
- # intern: to_sym
942
- PreferredMethods:
943
- intern: to_sym
953
+ Style/SpaceAroundKeyword:
954
+ Description: 'Use spaces around keywords.'
955
+ Enabled: false
944
956
 
945
- Style/SpaceAroundBlockParameters:
946
- EnforcedStyleInsidePipes: no_space
947
- SupportedStyles:
948
- - space
949
- - no_space
957
+ Style/SpaceAfterMethodName:
958
+ Description: >-
959
+ Do not put a space between a method name and the opening
960
+ parenthesis in a method definition.
961
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
962
+ Enabled: false
950
963
 
951
- Style/SpaceAroundEqualsInParameterDefault:
952
- EnforcedStyle: space
953
- SupportedStyles:
954
- - space
955
- - no_space
964
+ Style/SpaceAfterNot:
965
+ Description: Tracks redundant space after the ! operator.
966
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
967
+ Enabled: false
956
968
 
957
- Style/SpaceAroundOperators:
958
- # When true, allows most uses of extra spacing if the intent is to align
959
- # with an operator on the previous or next line, not counting empty lines
960
- # or comment lines.
961
- AllowForAlignment: true
969
+ Style/SpaceAfterSemicolon:
970
+ Description: 'Use spaces after semicolons.'
971
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
972
+ Enabled: false
962
973
 
963
974
  Style/SpaceBeforeBlockBraces:
964
- EnforcedStyle: space
965
- SupportedStyles:
966
- - space
967
- - no_space
968
-
969
- Style/SpaceInsideBlockBraces:
970
- EnforcedStyle: space
971
- SupportedStyles:
972
- - space
973
- - no_space
974
- # Valid values are: space, no_space
975
- EnforcedStyleForEmptyBraces: no_space
976
- # Space between { and |. Overrides EnforcedStyle if there is a conflict.
977
- SpaceBeforeBlockParameters: true
978
-
979
- Style/SpaceInsideHashLiteralBraces:
980
- EnforcedStyle: no_space
981
- EnforcedStyleForEmptyBraces: no_space
982
- SupportedStyles:
983
- - space
984
- - no_space
985
- # 'compact' normally requires a space inside hash braces, with the exception
986
- # that successive left braces or right braces are collapsed together
987
- - compact
988
-
989
- Style/SpaceInsideStringInterpolation:
990
- EnforcedStyle: no_space
991
- SupportedStyles:
992
- - space
993
- - no_space
994
-
995
- Style/SymbolArray:
996
- EnforcedStyle: percent
997
- SupportedStyles:
998
- - percent
999
- - brackets
1000
-
1001
- Style/SymbolProc:
1002
- # A list of method names to be ignored by the check.
1003
- # The names should be fairly unique, otherwise you'll end up ignoring lots of code.
1004
- IgnoredMethods:
1005
- - respond_to
1006
- - define_method
1007
-
1008
- # NOT FULLY IMPLEMENTED YET
1009
- # require_parentheses_when_complex
1010
- Style/TernaryParentheses:
1011
- EnforcedStyle: require_no_parentheses
1012
- SupportedStyles:
1013
- - require_parentheses
1014
- - require_no_parentheses
1015
- - require_parentheses_when_complex
1016
- AllowSafeAssignment: true
975
+ Description: >-
976
+ Checks that the left block brace has or doesn't have space
977
+ before it.
978
+ Enabled: false
1017
979
 
1018
- Style/TrailingBlankLines:
1019
- EnforcedStyle: final_newline
1020
- SupportedStyles:
1021
- - final_newline
1022
- - final_blank_line
980
+ Style/SpaceBeforeComma:
981
+ Description: 'No spaces before commas.'
982
+ Enabled: false
1023
983
 
1024
- Style/TrailingCommaInArguments:
1025
- # If `comma`, the cop requires a comma after the last argument, but only for
1026
- # parenthesized method calls where each argument is on its own line.
1027
- # If `consistent_comma`, the cop requires a comma after the last argument,
1028
- # for all parenthesized method calls with arguments.
1029
- EnforcedStyleForMultiline: no_comma
1030
- SupportedStyles:
1031
- - comma
1032
- - consistent_comma
1033
- - no_comma
984
+ Style/SpaceBeforeComment:
985
+ Description: >-
986
+ Checks for missing space between code and a comment on the
987
+ same line.
988
+ Enabled: false
1034
989
 
1035
- Style/TrailingCommaInLiteral:
1036
- # If `comma`, the cop requires a comma after the last item in an array or
1037
- # hash, but only when each item is on its own line.
1038
- # If `consistent_comma`, the cop requires a comma after the last item of all
1039
- # non-empty array and hash literals.
1040
- EnforcedStyleForMultiline: no_comma
1041
- SupportedStyles:
1042
- - comma
1043
- - consistent_comma
1044
- - no_comma
1045
-
1046
- # TrivialAccessors requires exact name matches and doesn't allow
1047
- # predicated methods by default.
1048
- Style/TrivialAccessors:
1049
- # When set to false the cop will suggest the use of accessor methods
1050
- # in situations like:
1051
- #
1052
- # def name
1053
- # @other_name
1054
- # end
1055
- #
1056
- # This way you can uncover "hidden" attributes in your code.
1057
- ExactNameMatch: true
1058
- AllowPredicates: true
1059
- # Allows trivial writers that don't end in an equal sign. e.g.
1060
- #
1061
- # def on_exception(action)
1062
- # @on_exception=action
1063
- # end
1064
- # on_exception :restart
1065
- #
1066
- # Commonly used in DSLs
1067
- AllowDSLWriters: false
1068
- IgnoreClassMethods: false
1069
- Whitelist:
1070
- - to_ary
1071
- - to_a
1072
- - to_c
1073
- - to_enum
1074
- - to_h
1075
- - to_hash
1076
- - to_i
1077
- - to_int
1078
- - to_io
1079
- - to_open
1080
- - to_path
1081
- - to_proc
1082
- - to_r
1083
- - to_regexp
1084
- - to_str
1085
- - to_s
1086
- - to_sym
990
+ Style/SpaceBeforeSemicolon:
991
+ Description: 'No spaces before semicolons.'
992
+ Enabled: false
1087
993
 
1088
- Style/VariableName:
1089
- EnforcedStyle: snake_case
1090
- SupportedStyles:
1091
- - snake_case
1092
- - camelCase
1093
-
1094
- Style/VariableNumber:
1095
- EnforcedStyle: normalcase
1096
- SupportedStyles:
1097
- - snake_case
1098
- - normalcase
1099
- - non_integer
994
+ Style/SpaceInsideBlockBraces:
995
+ Description: >-
996
+ Checks that block braces have or don't have surrounding space.
997
+ For blocks taking parameters, checks that the left brace has
998
+ or doesn't have trailing space.
999
+ Enabled: false
1100
1000
 
1101
- Style/WhileUntilModifier:
1102
- MaxLineLength: 80
1001
+ Style/SpaceAroundBlockParameters:
1002
+ Description: 'Checks the spacing inside and after block parameters pipes.'
1003
+ Enabled: false
1103
1004
 
1104
- # WordArray enforces how array literals of word-like strings should be expressed.
1105
- Style/WordArray:
1106
- EnforcedStyle: percent
1107
- SupportedStyles:
1108
- # percent style: %w(word1 word2)
1109
- - percent
1110
- # bracket style: ['word1', 'word2']
1111
- - brackets
1112
- # The MinSize option causes the WordArray rule to be ignored for arrays
1113
- # smaller than a certain size. The rule is only applied to arrays
1114
- # whose element count is greater than or equal to MinSize.
1115
- MinSize: 0
1116
- # The regular expression WordRegex decides what is considered a word.
1117
- WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/'
1118
-
1119
- ##################### Metrics ##################################
1005
+ Style/SpaceAroundEqualsInParameterDefault:
1006
+ Description: >-
1007
+ Checks that the equals signs in parameter default assignments
1008
+ have or don't have surrounding space depending on
1009
+ configuration.
1010
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1011
+ Enabled: false
1120
1012
 
1121
- Metrics/AbcSize:
1122
- # The ABC size is a calculated magnitude, so this number can be an Integer or
1123
- # a Float.
1124
- Max: 15
1013
+ Style/SpaceAroundOperators:
1014
+ Description: 'Use a single space around operators.'
1015
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1016
+ Enabled: false
1125
1017
 
1126
- Metrics/BlockNesting:
1127
- Max: 3
1018
+ Style/SpaceInsideBrackets:
1019
+ Description: 'No spaces after [ or before ].'
1020
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1021
+ Enabled: false
1128
1022
 
1129
- Metrics/ClassLength:
1130
- CountComments: false # count full line comments?
1131
- Max: 100
1023
+ Style/SpaceInsideHashLiteralBraces:
1024
+ Description: "Use spaces inside hash literal braces - or don't."
1025
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1026
+ Enabled: false
1132
1027
 
1133
- Metrics/ModuleLength:
1134
- CountComments: false # count full line comments?
1135
- Max: 100
1028
+ Style/SpaceInsideParens:
1029
+ Description: 'No spaces after ( or before ).'
1030
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1031
+ Enabled: false
1136
1032
 
1137
- # Avoid complex methods.
1138
- Metrics/CyclomaticComplexity:
1139
- Max: 6
1033
+ Style/SpaceInsideRangeLiteral:
1034
+ Description: 'No spaces inside range literals.'
1035
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1036
+ Enabled: false
1140
1037
 
1141
- Metrics/LineLength:
1142
- Max: 120
1143
- # To make it possible to copy or click on URIs in the code, we allow lines
1144
- # containing a URI to be longer than Max.
1145
- AllowHeredoc: true
1146
- AllowURI: true
1147
- URISchemes:
1148
- - http
1149
- - https
1150
- # The IgnoreCopDirectives option causes the LineLength rule to ignore cop
1151
- # directives like '# rubocop: enable ...' when calculating a line's length.
1152
- IgnoreCopDirectives: false
1038
+ Style/SpaceInsideStringInterpolation:
1039
+ Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1040
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1041
+ Enabled: false
1153
1042
 
1154
- Metrics/MethodLength:
1155
- CountComments: false # count full line comments?
1156
- Max: 10
1157
-
1158
- Metrics/BlockLength:
1159
- CountComments: false # count full line comments?
1160
- Max: 25
1161
- Exclude:
1162
- - 'Rakefile'
1163
- - '*.gemspec'
1164
- - '**/*.rake'
1165
- - 'spec/**/*.rb'
1043
+ Style/SpecialGlobalVars:
1044
+ Description: 'Avoid Perl-style global variables.'
1045
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1046
+ Enabled: false
1166
1047
 
1167
- Metrics/ParameterLists:
1168
- Max: 5
1169
- CountKeywordArgs: true
1048
+ Style/StringLiterals:
1049
+ Description: 'Checks if uses of quotes match the configured preference.'
1050
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1051
+ Enabled: false
1170
1052
 
1171
- Metrics/PerceivedComplexity:
1172
- Max: 7
1053
+ Style/StringLiteralsInInterpolation:
1054
+ Description: >-
1055
+ Checks if uses of quotes inside expressions in interpolated
1056
+ strings match the configured preference.
1057
+ Enabled: false
1173
1058
 
1174
- ##################### Lint ##################################
1059
+ Style/StructInheritance:
1060
+ Description: 'Checks for inheritance from Struct.new.'
1061
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1062
+ Enabled: false
1175
1063
 
1176
- # Allow safe assignment in conditions.
1177
- Lint/AssignmentInCondition:
1178
- AllowSafeAssignment: true
1064
+ Style/SymbolLiteral:
1065
+ Description: 'Use plain symbols instead of string symbols when possible.'
1066
+ Enabled: false
1179
1067
 
1180
- # checks whether the end keywords are aligned properly for `do` `end` blocks.
1181
- Lint/BlockAlignment:
1182
- # The value `start_of_block` means that the `end` should be aligned with line
1183
- # where the `do` keyword appears.
1184
- # The value `start_of_line` means it should be aligned with the whole
1185
- # expression's starting line.
1186
- # The value `either` means both are allowed.
1187
- AlignWith: either
1188
- SupportedStyles:
1189
- - either
1190
- - start_of_block
1191
- - start_of_line
1192
-
1193
- # Align ends correctly.
1194
- Lint/EndAlignment:
1195
- # The value `keyword` means that `end` should be aligned with the matching
1196
- # keyword (if, while, etc.).
1197
- # The value `variable` means that in assignments, `end` should be aligned
1198
- # with the start of the variable on the left hand side of `=`. In all other
1199
- # situations, `end` should still be aligned with the keyword.
1200
- # The value `start_of_line` means that `end` should be aligned with the start
1201
- # of the line which the matching keyword appears on.
1202
- AlignWith: keyword
1203
- SupportedStyles:
1204
- - keyword
1205
- - variable
1206
- - start_of_line
1207
- AutoCorrect: false
1068
+ Style/SymbolProc:
1069
+ Description: 'Use symbols as procs instead of blocks when possible.'
1070
+ Enabled: false
1208
1071
 
1209
- Lint/DefEndAlignment:
1210
- # The value `def` means that `end` should be aligned with the def keyword.
1211
- # The value `start_of_line` means that `end` should be aligned with method
1212
- # calls like `private`, `public`, etc, if present in front of the `def`
1213
- # keyword on the same line.
1214
- AlignWith: start_of_line
1215
- SupportedStyles:
1216
- - start_of_line
1217
- - def
1218
- AutoCorrect: false
1219
-
1220
- Lint/InheritException:
1221
- # The default base class in favour of `Exception`.
1222
- EnforcedStyle: standard_error
1223
- SupportedStyles:
1224
- - runtime_error
1225
- - standard_error
1226
-
1227
- # Checks for unused block arguments
1228
- Lint/UnusedBlockArgument:
1229
- IgnoreEmptyBlocks: true
1230
- AllowUnusedKeywordArguments: false
1072
+ Style/Tab:
1073
+ Description: 'No hard tabs.'
1074
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1075
+ Enabled: false
1231
1076
 
1232
- # Checks for unused method arguments.
1233
- Lint/UnusedMethodArgument:
1234
- IgnoreEmptyMethods: true
1235
- AllowUnusedKeywordArguments: false
1077
+ Style/TrailingBlankLines:
1078
+ Description: 'Checks trailing blank lines and final newline.'
1079
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
1080
+ Enabled: false
1236
1081
 
1237
- ##################### Performance ############################
1082
+ Style/TrailingCommaInArguments:
1083
+ Description: 'Checks for trailing comma in parameter lists.'
1084
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1085
+ Enabled: false
1238
1086
 
1239
- Performance/RedundantMerge:
1240
- # Max number of key-value pairs to consider an offense
1241
- MaxKeyValuePairs: 2
1087
+ Style/TrailingCommaInLiteral:
1088
+ Description: 'Checks for trailing comma in literals.'
1089
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1090
+ Enabled: false
1242
1091
 
1243
- ##################### Rails ##################################
1092
+ Style/TrailingWhitespace:
1093
+ Description: 'Avoid trailing whitespace.'
1094
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1095
+ Enabled: false
1244
1096
 
1245
- Rails/ActionFilter:
1246
- EnforcedStyle: action
1247
- SupportedStyles:
1248
- - action
1249
- - filter
1250
- Include:
1251
- - app/controllers/**/*.rb
1097
+ Style/TrivialAccessors:
1098
+ Description: 'Prefer attr_* methods to trivial readers/writers.'
1099
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1100
+ Enabled: false
1252
1101
 
1253
- Rails/Date:
1254
- # The value `strict` disallows usage of `Date.today`, `Date.current`,
1255
- # `Date#to_time` etc.
1256
- # The value `flexible` allows usage of `Date.current`, `Date.yesterday`, etc
1257
- # (but not `Date.today`) which are overridden by ActiveSupport to handle current
1258
- # time zone.
1259
- EnforcedStyle: flexible
1260
- SupportedStyles:
1261
- - strict
1262
- - flexible
1263
-
1264
- Rails/DynamicFindBy:
1265
- Whitelist:
1266
- - find_by_sql
1267
-
1268
- # NOT IMPLEMENTED YET
1269
- # Rails/EnumUniqueness:
1270
- # Include:
1271
- # - app/models/**/*.rb
1272
-
1273
- Rails/Exit:
1274
- Include:
1275
- - app/**/*.rb
1276
- - config/**/*.rb
1277
- - lib/**/*.rb
1278
- Exclude:
1279
- - lib/**/*.rake
1102
+ Style/UnlessElse:
1103
+ Description: >-
1104
+ Do not use unless with else. Rewrite these with the positive
1105
+ case first.
1106
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1107
+ Enabled: false
1280
1108
 
1281
- Rails/FindBy:
1282
- Include:
1283
- - app/models/**/*.rb
1109
+ Style/UnneededCapitalW:
1110
+ Description: 'Checks for %W when interpolation is not needed.'
1111
+ Enabled: false
1284
1112
 
1285
- Rails/FindEach:
1286
- Include:
1287
- - app/models/**/*.rb
1113
+ Style/UnneededPercentQ:
1114
+ Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1115
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1116
+ Enabled: false
1288
1117
 
1289
- Rails/HasAndBelongsToMany:
1290
- Include:
1291
- - app/models/**/*.rb
1118
+ Style/TrailingUnderscoreVariable:
1119
+ Description: >-
1120
+ Checks for the usage of unneeded trailing underscores at the
1121
+ end of parallel variable assignment.
1122
+ Enabled: false
1292
1123
 
1293
- Rails/NotNullColumn:
1294
- Include:
1295
- - db/migrate/*.rb
1124
+ Style/VariableInterpolation:
1125
+ Description: >-
1126
+ Don't interpolate global, instance and class variables
1127
+ directly in strings.
1128
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1129
+ Enabled: false
1296
1130
 
1297
- Rails/Output:
1298
- Include:
1299
- - app/**/*.rb
1300
- - config/**/*.rb
1301
- - db/**/*.rb
1302
- - lib/**/*.rb
1131
+ Style/VariableName:
1132
+ Description: 'Use the configured style when naming variables.'
1133
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1134
+ Enabled: false
1303
1135
 
1304
- Rails/ReadWriteAttribute:
1305
- Include:
1306
- - app/models/**/*.rb
1307
-
1308
- Rails/RequestReferer:
1309
- EnforcedStyle: referer
1310
- SupportedStyles:
1311
- - referer
1312
- - referrer
1313
-
1314
- Rails/SafeNavigation:
1315
- # This will convert usages of `try` to use safe navigation as well as `try!`.
1316
- # `try` and `try!` work slighly differently. `try!` and safe navigation will
1317
- # both raise a `NoMethodError` if the receiver of the method call does not
1318
- # implement the intended method. `try` will not raise an exception for this.
1319
- ConvertTry: false
1136
+ Style/WhenThen:
1137
+ Description: 'Use when x then ... for one-line cases.'
1138
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1139
+ Enabled: false
1320
1140
 
1321
- Rails/ScopeArgs:
1322
- Include:
1323
- - app/models/**/*.rb
1141
+ Style/WhileUntilDo:
1142
+ Description: 'Checks for redundant do after while or until.'
1143
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1144
+ Enabled: false
1324
1145
 
1325
- Rails/TimeZone:
1326
- # The value `strict` means that `Time` should be used with `zone`.
1327
- # The value `flexible` allows usage of `in_time_zone` instead of `zone`.
1328
- EnforcedStyle: flexible
1329
- SupportedStyles:
1330
- - strict
1331
- - flexible
1332
-
1333
- Rails/UniqBeforePluck:
1334
- EnforcedMode: conservative
1335
- SupportedModes:
1336
- - conservative
1337
- - aggressive
1338
- AutoCorrect: false
1146
+ Style/WhileUntilModifier:
1147
+ Description: >-
1148
+ Favor modifier while/until usage when you have a
1149
+ single-line body.
1150
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1151
+ Enabled: false
1339
1152
 
1340
- Rails/Validation:
1341
- Include:
1342
- - app/models/**/*.rb
1153
+ Style/WordArray:
1154
+ Description: 'Use %w or %W for arrays of words.'
1155
+ StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1156
+ Enabled: false