rubocop-airbnb 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +2 -0
  3. data/Gemfile +7 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +68 -0
  6. data/config/default.yml +39 -0
  7. data/config/rubocop-airbnb.yml +96 -0
  8. data/config/rubocop-bundler.yml +8 -0
  9. data/config/rubocop-gemspec.yml +9 -0
  10. data/config/rubocop-layout.yml +514 -0
  11. data/config/rubocop-lint.yml +315 -0
  12. data/config/rubocop-metrics.yml +47 -0
  13. data/config/rubocop-naming.yml +68 -0
  14. data/config/rubocop-performance.yml +143 -0
  15. data/config/rubocop-rails.yml +193 -0
  16. data/config/rubocop-rspec.yml +281 -0
  17. data/config/rubocop-security.yml +13 -0
  18. data/config/rubocop-style.yml +953 -0
  19. data/lib/rubocop-airbnb.rb +11 -0
  20. data/lib/rubocop/airbnb.rb +16 -0
  21. data/lib/rubocop/airbnb/inflections.rb +14 -0
  22. data/lib/rubocop/airbnb/inject.rb +20 -0
  23. data/lib/rubocop/airbnb/rails_autoloading.rb +55 -0
  24. data/lib/rubocop/airbnb/version.rb +8 -0
  25. data/lib/rubocop/cop/airbnb/class_name.rb +47 -0
  26. data/lib/rubocop/cop/airbnb/class_or_module_declared_in_wrong_file.rb +138 -0
  27. data/lib/rubocop/cop/airbnb/const_assigned_in_wrong_file.rb +74 -0
  28. data/lib/rubocop/cop/airbnb/continuation_slash.rb +25 -0
  29. data/lib/rubocop/cop/airbnb/default_scope.rb +20 -0
  30. data/lib/rubocop/cop/airbnb/factory_attr_references_class.rb +74 -0
  31. data/lib/rubocop/cop/airbnb/factory_class_use_string.rb +39 -0
  32. data/lib/rubocop/cop/airbnb/mass_assignment_accessible_modifier.rb +18 -0
  33. data/lib/rubocop/cop/airbnb/module_method_in_wrong_file.rb +104 -0
  34. data/lib/rubocop/cop/airbnb/no_timeout.rb +19 -0
  35. data/lib/rubocop/cop/airbnb/opt_arg_parameters.rb +38 -0
  36. data/lib/rubocop/cop/airbnb/phrase_bundle_keys.rb +67 -0
  37. data/lib/rubocop/cop/airbnb/risky_activerecord_invocation.rb +63 -0
  38. data/lib/rubocop/cop/airbnb/rspec_describe_or_context_under_namespace.rb +114 -0
  39. data/lib/rubocop/cop/airbnb/rspec_environment_modification.rb +58 -0
  40. data/lib/rubocop/cop/airbnb/simple_modifier_conditional.rb +23 -0
  41. data/lib/rubocop/cop/airbnb/spec_constant_assignment.rb +55 -0
  42. data/lib/rubocop/cop/airbnb/unsafe_yaml_marshal.rb +47 -0
  43. data/rubocop-airbnb.gemspec +32 -0
  44. data/spec/rubocop/cop/airbnb/class_name_spec.rb +78 -0
  45. data/spec/rubocop/cop/airbnb/class_or_module_declared_in_wrong_file_spec.rb +174 -0
  46. data/spec/rubocop/cop/airbnb/const_assigned_in_wrong_file_spec.rb +178 -0
  47. data/spec/rubocop/cop/airbnb/continuation_slash_spec.rb +162 -0
  48. data/spec/rubocop/cop/airbnb/default_scope_spec.rb +38 -0
  49. data/spec/rubocop/cop/airbnb/factory_attr_references_class_spec.rb +160 -0
  50. data/spec/rubocop/cop/airbnb/factory_class_use_string_spec.rb +26 -0
  51. data/spec/rubocop/cop/airbnb/mass_assignment_accessible_modifier_spec.rb +28 -0
  52. data/spec/rubocop/cop/airbnb/module_method_in_wrong_file_spec.rb +181 -0
  53. data/spec/rubocop/cop/airbnb/no_timeout_spec.rb +30 -0
  54. data/spec/rubocop/cop/airbnb/opt_arg_parameter_spec.rb +103 -0
  55. data/spec/rubocop/cop/airbnb/phrase_bundle_keys_spec.rb +74 -0
  56. data/spec/rubocop/cop/airbnb/risky_activerecord_invocation_spec.rb +54 -0
  57. data/spec/rubocop/cop/airbnb/rspec_describe_or_context_under_namespace_spec.rb +284 -0
  58. data/spec/rubocop/cop/airbnb/rspec_environment_modification_spec.rb +64 -0
  59. data/spec/rubocop/cop/airbnb/simple_modifier_conditional_spec.rb +122 -0
  60. data/spec/rubocop/cop/airbnb/spec_constant_assignment_spec.rb +80 -0
  61. data/spec/rubocop/cop/airbnb/unsafe_yaml_marshal_spec.rb +50 -0
  62. data/spec/spec_helper.rb +35 -0
  63. metadata +150 -0
@@ -0,0 +1,315 @@
1
+ Lint/AmbiguousBlockAssociation:
2
+ Enabled: false
3
+
4
+ Lint/AmbiguousOperator:
5
+ Description: Checks for ambiguous operators in the first argument of a method invocation
6
+ without parentheses.
7
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-as-args
8
+ Enabled: true
9
+
10
+ Lint/AmbiguousRegexpLiteral:
11
+ Description: Checks for ambiguous regexp literals in the first argument of a method
12
+ invocation without parenthesis.
13
+ Enabled: false
14
+
15
+ Lint/AssignmentInCondition:
16
+ Description: Don't use assignment in conditions.
17
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition
18
+ Enabled: true
19
+ AllowSafeAssignment: false
20
+
21
+ # Supports --auto-correct
22
+ Lint/BlockAlignment:
23
+ Description: Align block ends correctly.
24
+ Enabled: true
25
+
26
+ Lint/BooleanSymbol:
27
+ Enabled: false
28
+
29
+ Lint/CircularArgumentReference:
30
+ Description: Don't refer to the keyword argument in the default value.
31
+ Enabled: false
32
+
33
+ Lint/ConditionPosition:
34
+ Description: Checks for condition placed in a confusing position relative to the keyword.
35
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#same-line-condition
36
+ Enabled: true
37
+
38
+ Lint/Debugger:
39
+ Description: Check for debugger calls.
40
+ Enabled: true
41
+
42
+ # Supports --auto-correct
43
+ Lint/DefEndAlignment:
44
+ Description: Align ends corresponding to defs correctly.
45
+ Enabled: true
46
+ EnforcedStyleAlignWith: start_of_line
47
+ AutoCorrect: false
48
+
49
+ # Supports --auto-correct
50
+ Lint/DeprecatedClassMethods:
51
+ Description: Check for deprecated class method calls.
52
+ Enabled: false
53
+
54
+ Lint/DuplicateCaseCondition:
55
+ Enabled: false
56
+
57
+ Lint/DuplicateMethods:
58
+ Description: Check for duplicate methods calls.
59
+ Enabled: true
60
+
61
+ Lint/DuplicatedKey:
62
+ Description: Check for duplicate keys in hash literals.
63
+ Enabled: true
64
+
65
+ Lint/EachWithObjectArgument:
66
+ Description: Check for immutable argument given to each_with_object.
67
+ Enabled: false
68
+
69
+ Lint/ElseLayout:
70
+ Description: Check for odd code arrangement in an else block.
71
+ Enabled: true
72
+
73
+ Lint/EmptyEnsure:
74
+ Description: Checks for empty ensure block.
75
+ Enabled: false
76
+
77
+ Lint/EmptyInterpolation:
78
+ Description: Checks for empty string interpolation.
79
+ Enabled: true
80
+
81
+ Lint/EmptyWhen:
82
+ Enabled: false
83
+
84
+ # Supports --auto-correct
85
+ Lint/EndAlignment:
86
+ Description: Align ends correctly.
87
+ # The value `keyword` means that `end` should be aligned with the matching
88
+ # keyword (if, while, etc.).
89
+ # The value `variable` means that in assignments, `end` should be aligned
90
+ # with the start of the variable on the left hand side of `=`. In all other
91
+ # situations, `end` should still be aligned with the keyword.
92
+ # The value `start_of_line` means that `end` should be aligned with the start
93
+ # of the line which the matching keyword appears on.
94
+ Enabled: true
95
+ EnforcedStyleAlignWith: keyword
96
+ AutoCorrect: false
97
+
98
+ Lint/EndInMethod:
99
+ Description: END blocks should not be placed inside method definitions.
100
+ Enabled: false
101
+
102
+ Lint/EnsureReturn:
103
+ Description: Do not use return in an ensure block.
104
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
105
+ Enabled: false
106
+
107
+ Lint/FloatOutOfRange:
108
+ Description: Catches floating-point literals too large or small for Ruby to represent.
109
+ Enabled: false
110
+
111
+ Lint/FormatParameterMismatch:
112
+ Description: The number of parameters to format/sprint must match the fields.
113
+ Enabled: true
114
+
115
+ Lint/HandleExceptions:
116
+ Description: Don't suppress exception.
117
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
118
+ Enabled: false
119
+
120
+ Lint/ImplicitStringConcatenation:
121
+ Description: Checks for adjacent string literals on the same line, which could better
122
+ be represented as a single string literal.
123
+ Enabled: true
124
+
125
+ Lint/IneffectiveAccessModifier:
126
+ Description: Checks for attempts to use `private` or `protected` to set the visibility
127
+ of a class method, which does not work.
128
+ Enabled: true
129
+
130
+ Lint/InheritException:
131
+ Enabled: true
132
+ # The default base class in favour of `Exception`.
133
+ EnforcedStyle: standard_error
134
+
135
+ Lint/InterpolationCheck:
136
+ Enabled: false
137
+
138
+ Lint/LiteralAsCondition:
139
+ Description: Checks of literals used in conditions.
140
+ Enabled: false
141
+
142
+ # Supports --auto-correct
143
+ Lint/LiteralInInterpolation:
144
+ Description: Avoid interpolating literals in strings
145
+ Enabled: false
146
+ AutoCorrect: false
147
+
148
+ Lint/Loop:
149
+ Description: Use Kernel#loop with break rather than begin/end/until or begin/end/while
150
+ for post-loop tests.
151
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
152
+ Enabled: false
153
+
154
+ Lint/MissingCopEnableDirective:
155
+ # Maximum number of consecutive lines the cop can be disabled for.
156
+ # 0 allows only single-line disables
157
+ # 1 would mean the maximum allowed is the following:
158
+ # # rubocop:disable SomeCop
159
+ # a = 1
160
+ # # rubocop:enable SomeCop
161
+ # .inf for any size
162
+ MaximumRangeSize: .inf
163
+ Description: 'Checks for a `# rubocop:enable` after `# rubocop:disable`'
164
+ Enabled: true
165
+
166
+ Lint/MultipleCompare:
167
+ Enabled: false
168
+
169
+ Lint/NestedMethodDefinition:
170
+ Description: Do not use nested method definitions.
171
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-nested-methods
172
+ Enabled: false
173
+
174
+ Lint/NextWithoutAccumulator:
175
+ Enabled: false
176
+
177
+ Lint/NonLocalExitFromIterator:
178
+ Description: Do not use return in iterator to cause non-local exit.
179
+ Enabled: false
180
+
181
+ Lint/ParenthesesAsGroupedExpression:
182
+ Description: Checks for method calls with a space before the opening parenthesis.
183
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#parens-no-spaces
184
+ Enabled: true
185
+
186
+ Lint/PercentStringArray:
187
+ Description: >-
188
+ Checks for unwanted commas and quotes in %w/%W literals.
189
+ Enabled: true
190
+
191
+ Lint/PercentSymbolArray:
192
+ Enabled: false
193
+
194
+ Lint/RandOne:
195
+ Description: Checks for `rand(1)` calls. Such calls always return `0` and most likely
196
+ a mistake.
197
+ Enabled: true
198
+
199
+ Lint/RedundantWithIndex:
200
+ Enabled: false
201
+
202
+ Lint/RedundantWithObject:
203
+ Enabled: false
204
+
205
+ Lint/RegexpAsCondition:
206
+ Enabled: false
207
+
208
+ Lint/RequireParentheses:
209
+ Description: Use parentheses in the method call to avoid confusion about precedence.
210
+ Enabled: true
211
+
212
+ Lint/RescueException:
213
+ Description: Avoid rescuing the Exception class.
214
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-blind-rescues
215
+ Enabled: true
216
+
217
+ Lint/RescueType:
218
+ Enabled: false
219
+
220
+ Lint/ReturnInVoidContext:
221
+ Enabled: false
222
+
223
+ Lint/SafeNavigationChain:
224
+ Enabled: false
225
+
226
+ Lint/ScriptPermission:
227
+ Enabled: false
228
+
229
+ Lint/ShadowedArgument:
230
+ Description: 'Avoid reassigning arguments before they were used.'
231
+ Enabled: true
232
+
233
+ Lint/ShadowedException:
234
+ Description: >-
235
+ Avoid rescuing a higher level exception
236
+ before a lower level exception.
237
+ Enabled: false
238
+
239
+ Lint/ShadowingOuterLocalVariable:
240
+ Description: Do not use the same name as outer local variable for block arguments
241
+ or block local variables.
242
+ Enabled: true
243
+
244
+ # Supports --auto-correct
245
+ Lint/StringConversionInInterpolation:
246
+ Description: Checks for Object#to_s usage in string interpolation.
247
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
248
+ Enabled: true
249
+
250
+ Lint/UnderscorePrefixedVariableName:
251
+ Description: Do not use prefix `_` for a variable that is used.
252
+ Enabled: false
253
+
254
+ Lint/UnifiedInteger:
255
+ Enabled: false
256
+
257
+ Lint/UnneededDisable:
258
+ Description: >-
259
+ Checks for rubocop:disable comments that can be removed.
260
+ Note: this cop is not disabled when disabling all cops. It must be explicitly disabled.
261
+ Enabled: true
262
+
263
+ Lint/UnneededRequireStatement:
264
+ Enabled: false
265
+
266
+ Lint/UnneededSplatExpansion:
267
+ Enabled: false
268
+
269
+ Lint/UnreachableCode:
270
+ Description: Unreachable code.
271
+ Enabled: false
272
+
273
+ # Supports --auto-correct
274
+ Lint/UnusedBlockArgument:
275
+ Description: Checks for unused block arguments.
276
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
277
+ Enabled: false
278
+
279
+ # Supports --auto-correct
280
+ Lint/UnusedMethodArgument:
281
+ Description: Checks for unused method arguments.
282
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
283
+ Enabled: false
284
+
285
+ Lint/UriEscapeUnescape:
286
+ Enabled: false
287
+
288
+ Lint/UriRegexp:
289
+ Enabled: false
290
+
291
+ Lint/UselessAccessModifier:
292
+ Description: Checks for useless access modifiers.
293
+ Enabled: true
294
+
295
+ Lint/UselessAssignment:
296
+ Description: Checks for useless assignment to a local variable.
297
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
298
+ Enabled: true
299
+
300
+ Lint/UselessComparison:
301
+ Description: Checks for comparison of something with itself.
302
+ Enabled: true
303
+
304
+ Lint/UselessElseWithoutRescue:
305
+ Description: Checks for useless `else` in `begin..end` without `rescue`.
306
+ Enabled: true
307
+
308
+ Lint/UselessSetterCall:
309
+ Description: Checks for useless setter call to a local variable.
310
+ Enabled: true
311
+
312
+ Lint/Void:
313
+ Description: Possible use of operator/literal/variable in void context.
314
+ Enabled: false
315
+
@@ -0,0 +1,47 @@
1
+ # We're using cane for ABC complexity checks
2
+ Metrics/AbcSize:
3
+ Enabled: false
4
+
5
+ Metrics/BlockLength:
6
+ Enabled: false
7
+
8
+ Metrics/BlockNesting:
9
+ Description: Avoid excessive block nesting
10
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count
11
+ Enabled: false
12
+ Max: 3
13
+
14
+ # We are not perfect robot-humans
15
+ Metrics/ClassLength:
16
+ Enabled: false
17
+
18
+ Metrics/CyclomaticComplexity:
19
+ Description: A complexity metric that is strongly correlated to the number of test
20
+ cases needed to validate a method.
21
+ Enabled: false
22
+ Max: 6
23
+
24
+ Metrics/LineLength:
25
+ Max: 100
26
+ AllowURI: true
27
+
28
+ Metrics/MethodLength:
29
+ Enabled: false
30
+
31
+ Metrics/ModuleLength:
32
+ Description: Avoid modules longer than 100 lines of code.
33
+ Enabled: false
34
+ CountComments: false
35
+ Max: 100
36
+
37
+ Metrics/ParameterLists:
38
+ Description: Avoid parameter lists longer than three or four parameters.
39
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#too-many-params
40
+ Enabled: false
41
+ Max: 5
42
+ CountKeywordArgs: true
43
+
44
+ Metrics/PerceivedComplexity:
45
+ Description: A complexity metric geared towards measuring complexity for a human reader.
46
+ Enabled: false
47
+ Max: 7
@@ -0,0 +1,68 @@
1
+ Naming/AccessorMethodName:
2
+ Description: Check the naming of accessor methods for get_/set_.
3
+ Enabled: false
4
+
5
+ Naming/AsciiIdentifiers:
6
+ Description: Use only ascii symbols in identifiers.
7
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#english-identifiers
8
+ Enabled: true
9
+
10
+ Naming/BinaryOperatorParameterName:
11
+ Description: When defining binary operators, name the argument other.
12
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#other-arg
13
+ Enabled: false
14
+
15
+ Naming/ClassAndModuleCamelCase:
16
+ Description: Use CamelCase for classes and modules.
17
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#camelcase-classes
18
+ Enabled: true
19
+
20
+ Naming/ConstantName:
21
+ Description: Constants should use SCREAMING_SNAKE_CASE.
22
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#screaming-snake-case
23
+ Enabled: false
24
+
25
+ Naming/FileName:
26
+ Description: Use snake_case for source file names.
27
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files
28
+ Enabled: false
29
+
30
+ Naming/HeredocDelimiterCase:
31
+ Enabled: false
32
+
33
+ Naming/HeredocDelimiterNaming:
34
+ Enabled: false
35
+
36
+ Naming/MethodName:
37
+ Description: Use the configured style when naming methods.
38
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
39
+ Enabled: false
40
+ EnforcedStyle: snake_case
41
+ SupportedStyles:
42
+ - snake_case
43
+ - camelCase
44
+
45
+ Naming/PredicateName:
46
+ Description: Check the names of predicate methods.
47
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark
48
+ Enabled: false
49
+ NamePrefix:
50
+ - is_
51
+ - has_
52
+ - have_
53
+ NamePrefixBlacklist:
54
+ - is_
55
+ - has_
56
+ - have_
57
+
58
+ Naming/VariableName:
59
+ Description: Use the configured style when naming variables.
60
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars
61
+ Enabled: true
62
+ EnforcedStyle: snake_case
63
+ SupportedStyles:
64
+ - snake_case
65
+ - camelCase
66
+
67
+ Naming/VariableNumber:
68
+ Enabled: false
@@ -0,0 +1,143 @@
1
+ Performance/Caller:
2
+ Enabled: false
3
+
4
+ # Type 'Performance' (8):
5
+ # Supports --auto-correct
6
+ Performance/CaseWhenSplat:
7
+ Description: Place `when` conditions that use splat at the end of the list of `when`
8
+ branches.
9
+ Enabled: false
10
+
11
+ # Supports --auto-correct
12
+ Performance/Casecmp:
13
+ Description: Use `casecmp` rather than `downcase ==`.
14
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringcasecmp-vs-stringdowncase---code
15
+ Enabled: false
16
+
17
+ Performance/CompareWithBlock:
18
+ Enabled: false
19
+
20
+ # Supports --auto-correct
21
+ Performance/Count:
22
+ Description: Use `count` instead of `select...size`, `reject...size`, `select...count`,
23
+ `reject...count`, `select...length`, and `reject...length`.
24
+ Enabled: false
25
+
26
+ # Supports --auto-correct
27
+ Performance/Detect:
28
+ Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`,
29
+ and `find_all.last`.
30
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code
31
+ Enabled: false
32
+
33
+ Performance/DoubleStartEndWith:
34
+ Description: Use `str.{start,end}_with?(x, ..., y, ...)` instead of `str.{start,end}_with?(x,
35
+ ...) || str.{start,end}_with?(y, ...)`.
36
+ Enabled: false
37
+
38
+ # Supports --auto-correct
39
+ Performance/EndWith:
40
+ Description: Use `end_with?` instead of a regex match anchored to the end of a string.
41
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end
42
+ Enabled: false
43
+
44
+ Performance/FixedSize:
45
+ Description: Do not compute the size of statically sized objects except in constants
46
+ Enabled: false
47
+
48
+ # Supports --auto-correct
49
+ Performance/FlatMap:
50
+ Description: Use `Enumerable#flat_map` instead of `Enumerable#map...Array#flatten(1)`
51
+ or `Enumberable#collect..Array#flatten(1)`
52
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code
53
+ Enabled: false
54
+ EnabledForFlattenWithoutParams: false
55
+
56
+ # Supports --auto-correct
57
+ Performance/HashEachMethods:
58
+ Description: Use `Hash#each_key` and `Hash#each_value` instead of `Hash#keys.each`
59
+ and `Hash#values.each`.
60
+ StyleGuide: https://github.com/bbatsov/ruby-style-guide#hash-each
61
+ Enabled: false
62
+ AutoCorrect: false
63
+
64
+ # Supports --auto-correct
65
+ Performance/LstripRstrip:
66
+ Description: Use `strip` instead of `lstrip.rstrip`.
67
+ Enabled: false
68
+
69
+ # Supports --auto-correct
70
+ Performance/RangeInclude:
71
+ Description: Use `Range#cover?` instead of `Range#include?`.
72
+ Reference: https://github.com/JuanitoFatas/fast-ruby#cover-vs-include-code
73
+ Enabled: false
74
+
75
+ # Supports --auto-correct
76
+ Performance/RedundantBlockCall:
77
+ Description: Use `yield` instead of `block.call`.
78
+ Reference: https://github.com/JuanitoFatas/fast-ruby#proccall-vs-yield-code
79
+ Enabled: false
80
+
81
+ # Supports --auto-correct
82
+ Performance/RedundantMatch:
83
+ Description: Use `=~` instead of `String#match` or `Regexp#match` in a context where
84
+ the returned `MatchData` is not needed.
85
+ Enabled: false
86
+
87
+ # Supports --auto-correct
88
+ Performance/RedundantMerge:
89
+ Description: Use Hash#[]=, rather than Hash#merge! with a single key-value pair.
90
+ Reference: https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code
91
+ Enabled: false
92
+
93
+ # Supports --auto-correct
94
+ Performance/RedundantSortBy:
95
+ Description: Use `sort` instead of `sort_by { |x| x }`.
96
+ Enabled: false
97
+
98
+ Performance/RegexpMatch:
99
+ Enabled: false
100
+
101
+ # Supports --auto-correct
102
+ Performance/ReverseEach:
103
+ Description: Use `reverse_each` instead of `reverse.each`.
104
+ Reference: https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code
105
+ Enabled: false
106
+
107
+ # Supports --auto-correct
108
+ Performance/Sample:
109
+ Description: Use `sample` instead of `shuffle.first`, `shuffle.last`, and `shuffle[Fixnum]`.
110
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code
111
+ Enabled: false
112
+
113
+ # Supports --auto-correct
114
+ Performance/Size:
115
+ Description: Use `size` instead of `count` for counting the number of elements in
116
+ `Array` and `Hash`.
117
+ Reference: https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code
118
+ Enabled: false
119
+
120
+ # Supports --auto-correct
121
+ Performance/StartWith:
122
+ Description: Use `start_with?` instead of a regex match anchored to the beginning
123
+ of a string.
124
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringmatch-vs-stringstart_withstringend_with-code-start-code-end
125
+ Enabled: false
126
+
127
+ # Supports --auto-correct
128
+ Performance/StringReplacement:
129
+ Description: Use `tr` instead of `gsub` when you are replacing the same number of
130
+ characters. Use `delete` instead of `gsub` when you are deleting characters.
131
+ Reference: https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code
132
+ Enabled: false
133
+
134
+ Performance/TimesMap:
135
+ Description: Checks for .times.map calls.
136
+ Enabled: false
137
+
138
+ Performance/UnfreezeString:
139
+ Enabled: false
140
+
141
+ Performance/UriDefaultParser:
142
+ Enabled: false
143
+