simple-feed 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/rubocop.yml +33 -0
  3. data/.github/workflows/ruby.yml +35 -0
  4. data/.relaxed-rubocop-2.4.yml +174 -0
  5. data/.rspec +1 -1
  6. data/.rubocop.yml +42 -1149
  7. data/.rubocop_todo.yml +134 -0
  8. data/.travis.yml +15 -8
  9. data/Gemfile +2 -0
  10. data/Guardfile +3 -3
  11. data/{README.md → README.adoc} +205 -140
  12. data/Rakefile +6 -7
  13. data/bin/console +1 -0
  14. data/examples/shared/provider_example.rb +10 -3
  15. data/lib/simple-feed.rb +2 -0
  16. data/lib/simple_feed.rb +2 -0
  17. data/lib/simplefeed.rb +9 -7
  18. data/lib/simplefeed/activity/base.rb +2 -0
  19. data/lib/simplefeed/activity/multi_user.rb +8 -6
  20. data/lib/simplefeed/activity/single_user.rb +5 -4
  21. data/lib/simplefeed/dsl.rb +3 -1
  22. data/lib/simplefeed/dsl/activities.rb +4 -3
  23. data/lib/simplefeed/dsl/formatter.rb +12 -12
  24. data/lib/simplefeed/event.rb +4 -3
  25. data/lib/simplefeed/feed.rb +19 -22
  26. data/lib/simplefeed/key/template.rb +5 -9
  27. data/lib/simplefeed/key/type.rb +4 -2
  28. data/lib/simplefeed/providers.rb +24 -9
  29. data/lib/simplefeed/providers/base/provider.rb +6 -3
  30. data/lib/simplefeed/providers/hash.rb +2 -0
  31. data/lib/simplefeed/providers/hash/paginator.rb +4 -2
  32. data/lib/simplefeed/providers/hash/provider.rb +11 -21
  33. data/lib/simplefeed/providers/key.rb +20 -11
  34. data/lib/simplefeed/providers/proxy.rb +13 -12
  35. data/lib/simplefeed/providers/redis.rb +2 -0
  36. data/lib/simplefeed/providers/redis/driver.rb +23 -23
  37. data/lib/simplefeed/providers/redis/provider.rb +35 -33
  38. data/lib/simplefeed/providers/redis/stats.rb +12 -13
  39. data/lib/simplefeed/response.rb +4 -2
  40. data/lib/simplefeed/version.rb +3 -1
  41. data/simple-feed.gemspec +16 -14
  42. metadata +58 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c0041dae8cf2aeff75f069680843b654093dad50
4
- data.tar.gz: 6c21de78f66d8e964eecd08296f415061f288423
2
+ SHA256:
3
+ metadata.gz: 3d5d6262c071651937d3f12fee27461af0cd5ecbb037046e290225ae9d108e83
4
+ data.tar.gz: cbae3163cc06bdb4c1e3b2de129c3c7b6a6a489d4d0f74142d329fbed88efd26
5
5
  SHA512:
6
- metadata.gz: 3a3377a50d75428dcc155bbb3d156fd6b8e394c845c690ec23d5a2b6e083a39feded268a40a80e16e5fe9cb33ad6f68f872a51690a0c4c3f7ada8587aad3ec54
7
- data.tar.gz: 5c436ae8b4c7cac404f40aef9c7cf614c8dd8788a998d567139bd2cca0fc10c1a815943bc80374f10db8ef8375f5f6db3ee74af6c89253570b5e9b4ed78b5baf
6
+ metadata.gz: aca24056e250a7dc32111ae81f04f7d7bc8859ae4f1f9cfbffb1d1fd7982ebe493e6761e9acb3415a5da7fdae259dad3a22e08dfbfffe388bd9bec3989c41b75
7
+ data.tar.gz: '08a870bfddb1db99baa1eeea4281b0af5645e5f74731352c46e29e32dcf807983427439a6847d56c1b789f8723606e28f6a92d37e1760fd6e2cb3beb1eced066'
@@ -0,0 +1,33 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Rubocop
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - name: Set up Ruby
24
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
+ # uses: ruby/setup-ruby@v1
27
+ uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
28
+ with:
29
+ ruby-version: 2.7
30
+ - name: Install dependencies
31
+ run: bundle install
32
+ - name: Run Rubocop
33
+ run: bundle exec rubocop
@@ -0,0 +1,35 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+
13
+ services:
14
+ redis:
15
+ image: redis
16
+ ports:
17
+ - 6379:6379
18
+ options: --entrypoint redis-server
19
+
20
+ steps:
21
+ - uses: actions/checkout@v2
22
+ - name: Set up Ruby 2.7
23
+ uses: actions/setup-ruby@v1
24
+ with:
25
+ ruby-version: 2.7.x
26
+
27
+ - name: Build and test with Rake
28
+ run: |
29
+ gem update --system
30
+ gem install bundler
31
+ bundle install --jobs 4 --retry 3
32
+ bundle exec rspec --format documentation
33
+ env:
34
+ REDIS_HOST: redis
35
+ REDIS_PORT: ${{ job.services.redis.ports[6379] }}
@@ -0,0 +1,174 @@
1
+ # Relaxed.Ruby.Style
2
+ ## Version 2.4
3
+
4
+ Style/Alias:
5
+ Enabled: false
6
+ StyleGuide: https://relaxed.ruby.style/#stylealias
7
+
8
+ Style/AsciiComments:
9
+ Enabled: false
10
+ StyleGuide: https://relaxed.ruby.style/#styleasciicomments
11
+
12
+ Style/BeginBlock:
13
+ Enabled: false
14
+ StyleGuide: https://relaxed.ruby.style/#stylebeginblock
15
+
16
+ Style/BlockDelimiters:
17
+ Enabled: false
18
+ StyleGuide: https://relaxed.ruby.style/#styleblockdelimiters
19
+
20
+ Style/CommentAnnotation:
21
+ Enabled: false
22
+ StyleGuide: https://relaxed.ruby.style/#stylecommentannotation
23
+
24
+ Style/Documentation:
25
+ Enabled: false
26
+ StyleGuide: https://relaxed.ruby.style/#styledocumentation
27
+
28
+ Layout/DotPosition:
29
+ Enabled: false
30
+ StyleGuide: https://relaxed.ruby.style/#layoutdotposition
31
+
32
+ Style/DoubleNegation:
33
+ Enabled: false
34
+ StyleGuide: https://relaxed.ruby.style/#styledoublenegation
35
+
36
+ Style/EndBlock:
37
+ Enabled: false
38
+ StyleGuide: https://relaxed.ruby.style/#styleendblock
39
+
40
+ Style/FormatString:
41
+ Enabled: false
42
+ StyleGuide: https://relaxed.ruby.style/#styleformatstring
43
+
44
+ Style/IfUnlessModifier:
45
+ Enabled: false
46
+ StyleGuide: https://relaxed.ruby.style/#styleifunlessmodifier
47
+
48
+ Style/Lambda:
49
+ Enabled: false
50
+ StyleGuide: https://relaxed.ruby.style/#stylelambda
51
+
52
+ Style/ModuleFunction:
53
+ Enabled: false
54
+ StyleGuide: https://relaxed.ruby.style/#stylemodulefunction
55
+
56
+ Style/MultilineBlockChain:
57
+ Enabled: false
58
+ StyleGuide: https://relaxed.ruby.style/#stylemultilineblockchain
59
+
60
+ Style/NegatedIf:
61
+ Enabled: false
62
+ StyleGuide: https://relaxed.ruby.style/#stylenegatedif
63
+
64
+ Style/NegatedWhile:
65
+ Enabled: false
66
+ StyleGuide: https://relaxed.ruby.style/#stylenegatedwhile
67
+
68
+ Style/NumericPredicate:
69
+ Enabled: false
70
+ StyleGuide: https://relaxed.ruby.style/#stylenumericpredicate
71
+
72
+ Style/ParallelAssignment:
73
+ Enabled: false
74
+ StyleGuide: https://relaxed.ruby.style/#styleparallelassignment
75
+
76
+ Style/PercentLiteralDelimiters:
77
+ Enabled: false
78
+ StyleGuide: https://relaxed.ruby.style/#stylepercentliteraldelimiters
79
+
80
+ Style/PerlBackrefs:
81
+ Enabled: false
82
+ StyleGuide: https://relaxed.ruby.style/#styleperlbackrefs
83
+
84
+ Style/Semicolon:
85
+ Enabled: false
86
+ StyleGuide: https://relaxed.ruby.style/#stylesemicolon
87
+
88
+ Style/SignalException:
89
+ Enabled: false
90
+ StyleGuide: https://relaxed.ruby.style/#stylesignalexception
91
+
92
+ Style/SingleLineBlockParams:
93
+ Enabled: false
94
+ StyleGuide: https://relaxed.ruby.style/#stylesinglelineblockparams
95
+
96
+ Style/SingleLineMethods:
97
+ Enabled: false
98
+ StyleGuide: https://relaxed.ruby.style/#stylesinglelinemethods
99
+
100
+ Layout/SpaceBeforeBlockBraces:
101
+ Enabled: false
102
+ StyleGuide: https://relaxed.ruby.style/#layoutspacebeforeblockbraces
103
+
104
+ Layout/SpaceInsideParens:
105
+ Enabled: false
106
+ StyleGuide: https://relaxed.ruby.style/#layoutspaceinsideparens
107
+
108
+ Layout/LineLength:
109
+ Enabled: false
110
+
111
+ Style/SpecialGlobalVars:
112
+ Enabled: false
113
+ StyleGuide: https://relaxed.ruby.style/#stylespecialglobalvars
114
+
115
+ Style/StringLiterals:
116
+ Enabled: false
117
+ StyleGuide: https://relaxed.ruby.style/#stylestringliterals
118
+
119
+ Style/TrailingCommaInArguments:
120
+ Enabled: false
121
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarguments
122
+
123
+ Style/TrailingCommaInArrayLiteral:
124
+ Enabled: false
125
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarrayliteral
126
+
127
+ Style/TrailingCommaInHashLiteral:
128
+ Enabled: false
129
+ StyleGuide: https://relaxed.ruby.style/#styletrailingcommainhashliteral
130
+
131
+ Style/SymbolArray:
132
+ Enabled: false
133
+ StyleGuide: http://relaxed.ruby.style/#stylesymbolarray
134
+
135
+ Style/WhileUntilModifier:
136
+ Enabled: false
137
+ StyleGuide: https://relaxed.ruby.style/#stylewhileuntilmodifier
138
+
139
+ Style/WordArray:
140
+ Enabled: false
141
+ StyleGuide: https://relaxed.ruby.style/#stylewordarray
142
+
143
+ Lint/AmbiguousRegexpLiteral:
144
+ Enabled: false
145
+ StyleGuide: https://relaxed.ruby.style/#lintambiguousregexpliteral
146
+
147
+ Lint/AssignmentInCondition:
148
+ Enabled: false
149
+ StyleGuide: https://relaxed.ruby.style/#lintassignmentincondition
150
+
151
+ Metrics/AbcSize:
152
+ Enabled: false
153
+
154
+ Metrics/BlockNesting:
155
+ Enabled: false
156
+
157
+ Metrics/ClassLength:
158
+ Enabled: false
159
+
160
+ Metrics/ModuleLength:
161
+ Enabled: false
162
+
163
+ Metrics/CyclomaticComplexity:
164
+ Enabled: false
165
+
166
+ Metrics/MethodLength:
167
+ Enabled: false
168
+
169
+ Metrics/ParameterLists:
170
+ Enabled: false
171
+
172
+ Metrics/PerceivedComplexity:
173
+ Enabled: false
174
+
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
1
  --format progress
2
- --color
2
+ --force-color
3
3
  --profile 1
@@ -1,1157 +1,50 @@
1
- AllCops:
2
- DisabledByDefault: true
3
- TargetRubyVersion: 2.3
4
-
5
- #################### Lint ################################
6
-
7
- Lint/AmbiguousOperator:
8
- Description: >-
9
- Checks for ambiguous operators in the first argument of a
10
- method invocation without parentheses.
11
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
12
- Enabled: true
13
-
14
- Lint/AmbiguousRegexpLiteral:
15
- Description: >-
16
- Checks for ambiguous regexp literals in the first argument of
17
- a method invocation without parenthesis.
18
- Enabled: true
19
-
20
- Lint/AssignmentInCondition:
21
- Description: "Don't use assignment in conditions."
22
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
23
- Enabled: true
24
-
25
- Lint/BlockAlignment:
26
- Description: 'Align block ends correctly.'
27
- Enabled: true
28
-
29
- Lint/CircularArgumentReference:
30
- Description: "Don't refer to the keyword argument in the default value."
31
- Enabled: true
32
-
33
- Lint/ConditionPosition:
34
- Description: >-
35
- Checks for condition placed in a confusing position relative to
36
- the keyword.
37
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
38
- Enabled: true
39
-
40
- Lint/Debugger:
41
- Description: 'Check for debugger calls.'
42
- Enabled: true
43
-
44
- Lint/DefEndAlignment:
45
- Description: 'Align ends corresponding to defs correctly.'
46
- Enabled: true
47
-
48
- Lint/DeprecatedClassMethods:
49
- Description: 'Check for deprecated class method calls.'
50
- Enabled: true
51
-
52
- Lint/DuplicateMethods:
53
- Description: 'Check for duplicate methods calls.'
54
- Enabled: true
55
-
56
- Lint/EachWithObjectArgument:
57
- Description: 'Check for immutable argument given to each_with_object.'
58
- Enabled: true
59
-
60
- Lint/ElseLayout:
61
- Description: 'Check for odd code arrangement in an else block.'
62
- Enabled: true
63
-
64
- Lint/EmptyEnsure:
65
- Description: 'Checks for empty ensure block.'
66
- Enabled: true
67
-
68
- Lint/EmptyInterpolation:
69
- Description: 'Checks for empty string interpolation.'
70
- Enabled: true
71
-
72
- Lint/EndAlignment:
73
- Description: 'Align ends correctly.'
74
- Enabled: true
75
-
76
- Lint/EndInMethod:
77
- Description: 'END blocks should not be placed inside method definitions.'
78
- Enabled: true
79
-
80
- Lint/EnsureReturn:
81
- Description: 'Do not use return in an ensure block.'
82
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-return-ensure'
83
- Enabled: true
84
-
85
- Lint/Eval:
86
- Description: 'The use of eval represents a serious security risk.'
87
- Enabled: true
88
-
89
- Lint/FormatParameterMismatch:
90
- Description: 'The number of parameters to format/sprint must match the fields.'
91
- Enabled: true
92
-
93
- Lint/HandleExceptions:
94
- Description: "Don't suppress exception."
95
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
96
- Enabled: true
97
-
98
- Lint/InvalidCharacterLiteral:
99
- Description: >-
100
- Checks for invalid character literals with a non-escaped
101
- whitespace character.
102
- Enabled: true
103
-
104
- Lint/LiteralInCondition:
105
- Description: 'Checks of literals used in conditions.'
106
- Enabled: true
107
-
108
- Lint/LiteralInInterpolation:
109
- Description: 'Checks for literals used in interpolation.'
110
- Enabled: true
111
-
112
- Lint/Loop:
113
- Description: >-
114
- Use Kernel#loop with break rather than begin/end/until or
115
- begin/end/while for post-loop tests.
116
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
117
- Enabled: true
118
-
119
- Lint/NestedMethodDefinition:
120
- Description: 'Do not use nested method definitions.'
121
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
122
- Enabled: true
123
-
124
- Lint/NonLocalExitFromIterator:
125
- Description: 'Do not use return in iterator to cause non-local exit.'
126
- Enabled: true
127
-
128
- Lint/ParenthesesAsGroupedExpression:
129
- Description: >-
130
- Checks for method calls with a space before the opening
131
- parenthesis.
132
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
133
- Enabled: true
134
-
135
- Lint/RequireParentheses:
136
- Description: >-
137
- Use parentheses in the method call to avoid confusion
138
- about precedence.
139
- Enabled: true
140
-
141
- Lint/RescueException:
142
- Description: 'Avoid rescuing the Exception class.'
143
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-blind-rescues'
144
- Enabled: true
145
-
146
- Lint/ShadowingOuterLocalVariable:
147
- Description: >-
148
- Do not use the same name as outer local variable
149
- for block arguments or block local variables.
150
- Enabled: true
151
-
152
- Lint/StringConversionInInterpolation:
153
- Description: 'Checks for Object#to_s usage in string interpolation.'
154
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-to-s'
155
- Enabled: true
156
-
157
- Lint/UnderscorePrefixedVariableName:
158
- Description: 'Do not use prefix `_` for a variable that is used.'
159
- Enabled: true
160
-
161
- Lint/UnneededDisable:
162
- Description: >-
163
- Checks for rubocop:disable comments that can be removed.
164
- Note: this cop is not disabled when disabling all cops.
165
- It must be explicitly disabled.
166
- Enabled: true
167
-
168
- Lint/UnusedBlockArgument:
169
- Description: 'Checks for unused block arguments.'
170
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
171
- Enabled: true
172
-
173
- Lint/UnusedMethodArgument:
174
- Description: 'Checks for unused method arguments.'
175
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
176
- Enabled: true
177
-
178
- Lint/UnreachableCode:
179
- Description: 'Unreachable code.'
180
- Enabled: true
181
-
182
- Lint/UselessAccessModifier:
183
- Description: 'Checks for useless access modifiers.'
184
- Enabled: true
185
-
186
- Lint/UselessAssignment:
187
- Description: 'Checks for useless assignment to a local variable.'
188
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars'
189
- Enabled: true
190
-
191
- Lint/UselessComparison:
192
- Description: 'Checks for comparison of something with itself.'
193
- Enabled: true
194
-
195
- Lint/UselessElseWithoutRescue:
196
- Description: 'Checks for useless `else` in `begin..end` without `rescue`.'
197
- Enabled: true
198
-
199
- Lint/UselessSetterCall:
200
- Description: 'Checks for useless setter call to a local variable.'
201
- Enabled: true
202
-
203
- Lint/Void:
204
- Description: 'Possible use of operator/literal/variable in void context.'
205
- Enabled: true
206
-
207
- ###################### Metrics ####################################
208
-
209
- Metrics/AbcSize:
210
- Description: >-
211
- A calculated magnitude based on number of assignments,
212
- branches, and conditions.
213
- Reference: 'http://c2.com/cgi/wiki?AbcMetric'
214
- Enabled: false
215
- Max: 20
216
-
217
- Metrics/BlockNesting:
218
- Description: 'Avoid excessive block nesting'
219
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
220
- Enabled: true
221
- Max: 4
222
-
223
- Metrics/ClassLength:
224
- Description: 'Avoid classes longer than 250 lines of code.'
225
- Enabled: true
226
- Max: 250
227
-
228
- Metrics/CyclomaticComplexity:
229
- Description: >-
230
- A complexity metric that is strongly correlated to the number
231
- of test cases needed to validate a method.
232
- Enabled: true
233
-
234
- Metrics/LineLength:
235
- Description: 'Limit lines to 80 characters.'
236
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
237
- Enabled: false
238
-
239
- Metrics/MethodLength:
240
- Description: 'Avoid methods longer than 30 lines of code.'
241
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
242
- Enabled: true
243
- Max: 30
244
-
245
- Metrics/ModuleLength:
246
- Description: 'Avoid modules longer than 250 lines of code.'
247
- Enabled: true
248
- Max: 250
249
-
250
- Metrics/ParameterLists:
251
- Description: 'Avoid parameter lists longer than three or four parameters.'
252
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
253
- Enabled: true
254
-
255
- Metrics/PerceivedComplexity:
256
- Description: >-
257
- A complexity metric geared towards measuring complexity for a
258
- human reader.
259
- Enabled: false
260
-
261
- ##################### Performance #############################
262
-
263
- Performance/Count:
264
- Description: >-
265
- Use `count` instead of `select...size`, `reject...size`,
266
- `select...count`, `reject...count`, `select...length`,
267
- and `reject...length`.
268
- Enabled: true
269
-
270
- Performance/Detect:
271
- Description: >-
272
- Use `detect` instead of `select.first`, `find_all.first`,
273
- `select.last`, and `find_all.last`.
274
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
275
- Enabled: true
276
-
277
- Performance/FlatMap:
278
- Description: >-
279
- Use `Enumerable#flat_map`
280
- instead of `Enumerable#map...Array#flatten(1)`
281
- or `Enumberable#collect..Array#flatten(1)`
282
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
283
- Enabled: true
284
- EnabledForFlattenWithoutParams: false
285
- # If enabled, this cop will warn about usages of
286
- # `flatten` being called without any parameters.
287
- # This can be dangerous since `flat_map` will only flatten 1 level, and
288
- # `flatten` without any parameters can flatten multiple levels.
289
-
290
- Performance/ReverseEach:
291
- Description: 'Use `reverse_each` instead of `reverse.each`.'
292
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
293
- Enabled: true
294
-
295
- Performance/Sample:
296
- Description: >-
297
- Use `sample` instead of `shuffle.first`,
298
- `shuffle.last`, and `shuffle[Fixnum]`.
299
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
300
- Enabled: true
301
-
302
- Performance/Size:
303
- Description: >-
304
- Use `size` instead of `count` for counting
305
- the number of elements in `Array` and `Hash`.
306
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
307
- Enabled: true
308
-
309
- Performance/StringReplacement:
310
- Description: >-
311
- Use `tr` instead of `gsub` when you are replacing the same
312
- number of characters. Use `delete` instead of `gsub` when
313
- you are deleting characters.
314
- Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
315
- Enabled: true
316
-
317
- ##################### Rails ##################################
318
-
319
- Rails/ActionFilter:
320
- Description: 'Enforces consistent use of action filter methods.'
321
- Enabled: false
322
-
323
- Rails/Date:
324
- Description: >-
325
- Checks the correct usage of date aware methods,
326
- such as Date.today, Date.current etc.
327
- Enabled: false
328
-
329
- Rails/Delegate:
330
- Description: 'Prefer delegate method for delegations.'
331
- Enabled: false
332
-
333
- Rails/FindBy:
334
- Description: 'Prefer find_by over where.first.'
335
- Enabled: false
336
-
337
- Rails/FindEach:
338
- Description: 'Prefer all.find_each over all.find.'
339
- Enabled: false
340
-
341
- Rails/HasAndBelongsToMany:
342
- Description: 'Prefer has_many :through to has_and_belongs_to_many.'
343
- Enabled: false
344
-
345
- Rails/Output:
346
- Description: 'Checks for calls to puts, print, etc.'
347
- Enabled: false
348
-
349
- Rails/ReadWriteAttribute:
350
- Description: >-
351
- Checks for read_attribute(:attr) and
352
- write_attribute(:attr, val).
353
- Enabled: false
354
-
355
- Rails/ScopeArgs:
356
- Description: 'Checks the arguments of ActiveRecord scopes.'
357
- Enabled: false
358
-
359
- Rails/TimeZone:
360
- Description: 'Checks the correct usage of time zone aware methods.'
361
- StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
362
- Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
363
- Enabled: false
364
-
365
- Rails/Validation:
366
- Description: 'Use validates :attribute, hash of validations.'
367
- Enabled: false
368
-
369
- ################## Style #################################
370
-
371
- Style/AccessModifierIndentation:
372
- Description: Check indentation of private/protected visibility modifiers.
373
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
374
- Enabled: false
375
-
376
- Style/AccessorMethodName:
377
- Description: Check the naming of accessor methods for get_/set_.
378
- Enabled: false
379
-
380
- Style/Alias:
381
- Description: 'Use alias_method instead of alias.'
382
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
383
- Enabled: false
384
-
385
- Style/AlignArray:
386
- Description: >-
387
- Align the elements of an array literal if they span more than
388
- one line.
389
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays'
390
- Enabled: false
391
-
392
- Style/AlignHash:
393
- Description: >-
394
- Align the elements of a hash literal if they span more than
395
- one line.
396
- Enabled: false
397
-
398
- Style/AlignParameters:
399
- Description: >-
400
- Align the parameters of a method call if they span more
401
- than one line.
402
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
403
- Enabled: false
404
-
405
- Style/AndOr:
406
- Description: 'Use &&/|| instead of and/or.'
407
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-and-or-or'
408
- Enabled: false
409
-
410
- Style/ArrayJoin:
411
- Description: 'Use Array#join instead of Array#*.'
412
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
413
- Enabled: false
414
-
415
- Style/AsciiComments:
416
- Description: 'Use only ascii symbols in comments.'
417
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
418
- Enabled: false
419
-
420
- Style/AsciiIdentifiers:
421
- Description: 'Use only ascii symbols in identifiers.'
422
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
423
- Enabled: false
424
-
425
- Style/Attr:
426
- Description: 'Checks for uses of Module#attr.'
427
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
428
- Enabled: false
429
-
430
- Style/BeginBlock:
431
- Description: 'Avoid the use of BEGIN blocks.'
432
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks'
433
- Enabled: false
434
-
435
- Style/BarePercentLiterals:
436
- Description: 'Checks if usage of %() or %Q() matches configuration.'
437
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q-shorthand'
438
- Enabled: false
439
-
440
- Style/BlockComments:
441
- Description: 'Do not use block comments.'
442
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-block-comments'
443
- Enabled: false
444
-
445
- Style/BlockEndNewline:
446
- Description: 'Put end statement of multiline block on its own line.'
447
- Enabled: false
448
-
449
- Style/BlockDelimiters:
450
- Description: >-
451
- Avoid using {...} for multi-line blocks (multiline chaining is
452
- always ugly).
453
- Prefer {...} over do...end for single-line blocks.
454
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
455
- Enabled: false
456
-
457
- Style/BracesAroundHashParameters:
458
- Description: 'Enforce braces style around hash parameters.'
459
- Enabled: false
460
-
461
- Style/CaseEquality:
462
- Description: 'Avoid explicit use of the case equality operator(===).'
463
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
464
- Enabled: false
465
-
466
- Style/CaseIndentation:
467
- Description: 'Indentation of when in a case/when/[else/]end.'
468
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case'
469
- Enabled: false
470
-
471
- Style/CharacterLiteral:
472
- Description: 'Checks for uses of character literals.'
473
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
474
- Enabled: false
475
-
476
- Style/ClassAndModuleCamelCase:
477
- Description: 'Use CamelCase for classes and modules.'
478
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes'
479
- Enabled: false
480
-
481
- Style/ClassAndModuleChildren:
482
- Description: 'Checks style of children classes and modules.'
483
- Enabled: false
484
-
485
- Style/ClassCheck:
486
- Description: 'Enforces consistent use of `Object#is_a?` or `Object#kind_of?`.'
487
- Enabled: false
488
-
489
- Style/ClassMethods:
490
- Description: 'Use self when defining module/class methods.'
491
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#def-self-class-methods'
492
- Enabled: false
493
-
494
- Style/ClassVars:
495
- Description: 'Avoid the use of class variables.'
496
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
497
- Enabled: false
498
-
499
- Style/ClosingParenthesisIndentation:
500
- Description: 'Checks the indentation of hanging closing parentheses.'
501
- Enabled: false
502
-
503
- Style/ColonMethodCall:
504
- Description: 'Do not use :: for method call.'
505
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
506
- Enabled: false
507
-
508
- Style/CommandLiteral:
509
- Description: 'Use `` or %x around command literals.'
510
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-x'
511
- Enabled: false
512
-
513
- Style/CommentAnnotation:
514
- Description: 'Checks formatting of annotation comments.'
515
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
516
- Enabled: false
517
-
518
- Style/CommentIndentation:
519
- Description: 'Indentation of comments.'
520
- Enabled: false
521
-
522
- Style/ConstantName:
523
- Description: 'Constants should use SCREAMING_SNAKE_CASE.'
524
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case'
525
- Enabled: false
526
-
527
- Style/DefWithParentheses:
528
- Description: 'Use def with parentheses when there are arguments.'
529
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
530
- Enabled: false
531
-
532
- Style/DeprecatedHashMethods:
533
- Description: 'Checks for use of deprecated Hash methods.'
534
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
535
- Enabled: false
536
-
537
- Style/Documentation:
538
- Description: 'Document classes and non-namespace modules.'
539
- Enabled: false
540
-
541
- Style/DotPosition:
542
- Description: 'Checks the position of the dot in multi-line method calls.'
543
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
544
- Enabled: false
545
-
546
- Style/DoubleNegation:
547
- Description: 'Checks for uses of double negation (!!).'
548
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
549
- Enabled: false
550
-
551
- Style/EachWithObject:
552
- Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
553
- Enabled: false
554
-
555
- Style/ElseAlignment:
556
- Description: 'Align elses and elsifs correctly.'
557
- Enabled: false
558
-
559
- Style/EmptyElse:
560
- Description: 'Avoid empty else-clauses.'
561
- Enabled: false
1
+ inherit_from:
2
+ - .rubocop_todo.yml
3
+ - .relaxed-rubocop-2.4.yml
562
4
 
563
- Style/EmptyLineBetweenDefs:
564
- Description: 'Use empty lines between defs.'
565
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#empty-lines-between-methods'
566
- Enabled: false
567
-
568
- Style/EmptyLines:
569
- Description: "Don't use several empty lines in a row."
570
- Enabled: false
571
-
572
- Style/EmptyLinesAroundAccessModifier:
573
- Description: "Keep blank lines around access modifiers."
574
- Enabled: false
575
-
576
- Style/EmptyLinesAroundBlockBody:
577
- Description: "Keeps track of empty lines around block bodies."
578
- Enabled: false
579
-
580
- Style/EmptyLinesAroundClassBody:
581
- Description: "Keeps track of empty lines around class bodies."
582
- Enabled: false
583
-
584
- Style/EmptyLinesAroundModuleBody:
585
- Description: "Keeps track of empty lines around module bodies."
586
- Enabled: false
587
-
588
- Style/EmptyLinesAroundMethodBody:
589
- Description: "Keeps track of empty lines around method bodies."
590
- Enabled: false
591
-
592
- Style/EmptyLiteral:
593
- Description: 'Prefer literals to Array.new/Hash.new/String.new.'
594
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
595
- Enabled: false
596
-
597
- Style/EndBlock:
598
- Description: 'Avoid the use of END blocks.'
599
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-END-blocks'
600
- Enabled: false
601
-
602
- Style/EndOfLine:
603
- Description: 'Use Unix-style line endings.'
604
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#crlf'
605
- Enabled: false
606
-
607
- Style/EvenOdd:
608
- Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
609
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
610
- Enabled: false
611
-
612
- Style/ExtraSpacing:
613
- Description: 'Do not use unnecessary spacing.'
614
- Enabled: false
615
-
616
- Style/FileName:
617
- Description: 'Use snake_case for source file names.'
618
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
619
- Enabled: false
620
-
621
- Style/InitialIndentation:
622
- Description: >-
623
- Checks the indentation of the first non-blank non-comment line in a file.
624
- Enabled: false
625
-
626
- Style/FirstParameterIndentation:
627
- Description: 'Checks the indentation of the first parameter in a method call.'
628
- Enabled: false
629
-
630
- Style/FlipFlop:
631
- Description: 'Checks for flip flops'
632
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
633
- Enabled: false
634
-
635
- Style/For:
636
- Description: 'Checks use of for or each in multiline loops.'
637
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-for-loops'
638
- Enabled: false
639
-
640
- Style/FormatString:
641
- Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
642
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
643
- Enabled: false
644
-
645
- Style/GlobalVars:
646
- Description: 'Do not introduce global variables.'
647
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
648
- Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
649
- Enabled: false
650
-
651
- Style/GuardClause:
652
- Description: 'Check for conditionals that can be replaced with guard clauses'
653
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
654
- Enabled: false
655
-
656
- Style/HashSyntax:
657
- Description: >-
658
- Prefer Ruby 1.9 hash syntax { a: 1, b: 2 } over 1.8 syntax
659
- { :a => 1, :b => 2 }.
660
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-literals'
661
- Enabled: false
662
-
663
- Style/IfUnlessModifier:
664
- Description: >-
665
- Favor modifier if/unless usage when you have a
666
- single-line body.
667
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
668
- Enabled: false
669
-
670
- Style/IfWithSemicolon:
671
- Description: 'Do not use if x; .... Use the ternary operator instead.'
672
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
673
- Enabled: false
674
-
675
- Style/IndentationConsistency:
676
- Description: 'Keep indentation straight.'
677
- Enabled: false
678
-
679
- Style/IndentationWidth:
680
- Description: 'Use 2 spaces for indentation.'
681
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
682
- Enabled: false
683
-
684
- Style/IndentArray:
685
- Description: >-
686
- Checks the indentation of the first element in an array
687
- literal.
688
- Enabled: false
689
-
690
- Style/IndentHash:
691
- Description: 'Checks the indentation of the first key in a hash literal.'
692
- Enabled: false
693
-
694
- Style/InfiniteLoop:
695
- Description: 'Use Kernel#loop for infinite loops.'
696
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#infinite-loop'
697
- Enabled: false
698
-
699
- Style/Lambda:
700
- Description: 'Use the new lambda literal syntax for single-line blocks.'
701
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
702
- Enabled: false
703
-
704
- Style/LambdaCall:
705
- Description: 'Use lambda.call(...) instead of lambda.(...).'
706
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
707
- Enabled: false
708
-
709
- Style/LeadingCommentSpace:
710
- Description: 'Comments should start with a space.'
711
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-space'
712
- Enabled: false
713
-
714
- Style/LineEndConcatenation:
715
- Description: >-
716
- Use \ instead of + or << to concatenate two string literals at
717
- line end.
718
- Enabled: false
719
-
720
- Style/MethodCallParentheses:
721
- Description: 'Do not use parentheses for method calls with no arguments.'
722
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-args-no-parens'
723
- Enabled: false
724
-
725
- Style/MethodDefParentheses:
726
- Description: >-
727
- Checks if the method definitions have or don't have
728
- parentheses.
729
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#method-parens'
730
- Enabled: false
731
-
732
- Style/MethodName:
733
- Description: 'Use the configured style when naming methods.'
734
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
735
- Enabled: false
736
-
737
- Style/ModuleFunction:
738
- Description: 'Checks for usage of `extend self` in modules.'
739
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
740
- Enabled: false
741
-
742
- Style/MultilineBlockChain:
743
- Description: 'Avoid multi-line chains of blocks.'
744
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
745
- Enabled: false
746
-
747
- Style/MultilineBlockLayout:
748
- Description: 'Ensures newlines after multiline block do statements.'
749
- Enabled: false
750
-
751
- Style/MultilineIfThen:
752
- Description: 'Do not use then for multi-line if/unless.'
753
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-then'
754
- Enabled: false
755
-
756
- Style/MultilineOperationIndentation:
757
- Description: >-
758
- Checks indentation of binary operations that span more than
759
- one line.
760
- Enabled: false
761
-
762
- Style/MultilineTernaryOperator:
763
- Description: >-
764
- Avoid multi-line ?: (the ternary operator);
765
- use if/unless instead.
766
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-ternary'
767
- Enabled: false
768
-
769
- Style/NegatedIf:
770
- Description: >-
771
- Favor unless over if for negative conditions
772
- (or control flow or).
773
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
774
- Enabled: false
775
-
776
- Style/NegatedWhile:
777
- Description: 'Favor until over while for negative conditions.'
778
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
779
- Enabled: false
780
-
781
- Style/NestedTernaryOperator:
782
- Description: 'Use one expression per branch in a ternary operator.'
783
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-ternary'
784
- Enabled: false
785
-
786
- Style/Next:
787
- Description: 'Use `next` to skip iteration instead of a condition at the end.'
788
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
789
- Enabled: false
790
-
791
- Style/NilComparison:
792
- Description: 'Prefer x.nil? to x == nil.'
793
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
794
- Enabled: false
795
-
796
- Style/NonNilCheck:
797
- Description: 'Checks for redundant nil checks.'
798
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-non-nil-checks'
799
- Enabled: false
800
-
801
- Style/Not:
802
- Description: 'Use ! instead of not.'
803
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
804
- Enabled: false
805
-
806
- Style/NumericLiterals:
807
- Description: >-
808
- Add underscores to large numeric literals to improve their
809
- readability.
810
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
811
- Enabled: false
812
-
813
- Style/OneLineConditional:
814
- Description: >-
815
- Favor the ternary operator(?:) over
816
- if/then/else/end constructs.
817
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
818
- Enabled: false
819
-
820
- Style/OpMethod:
821
- Description: 'When defining binary operators, name the argument other.'
822
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
823
- Enabled: false
824
-
825
- Style/OptionalArguments:
826
- Description: >-
827
- Checks for optional arguments that do not appear at the end
828
- of the argument list
829
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#optional-arguments'
830
- Enabled: false
831
-
832
- Style/ParallelAssignment:
833
- Description: >-
834
- Check for simple usages of parallel assignment.
835
- It will only warn when the number of variables
836
- matches on both sides of the assignment.
837
- This also provides performance benefits
838
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parallel-assignment'
839
- Enabled: false
840
-
841
- Style/ParenthesesAroundCondition:
842
- Description: >-
843
- Don't use parentheses around the condition of an
844
- if/unless/while.
845
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-parens-if'
846
- Enabled: false
847
-
848
- Style/PercentLiteralDelimiters:
849
- Description: 'Use `%`-literal delimiters consistently'
850
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
851
- Enabled: false
852
-
853
- Style/PercentQLiterals:
854
- Description: 'Checks if uses of %Q/%q match the configured preference.'
855
- Enabled: false
856
5
 
857
- Style/PerlBackrefs:
858
- Description: 'Avoid Perl-style regex back references.'
859
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
860
- Enabled: false
861
-
862
- Style/PredicateName:
863
- Description: 'Check the names of predicate methods.'
864
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
865
- Enabled: false
866
-
867
- Style/Proc:
868
- Description: 'Use proc instead of Proc.new.'
869
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
870
- Enabled: false
871
-
872
- Style/RaiseArgs:
873
- Description: 'Checks the arguments passed to raise/fail.'
874
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
875
- Enabled: false
876
-
877
- Style/RedundantBegin:
878
- Description: "Don't use begin blocks when they are not needed."
879
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#begin-implicit'
880
- Enabled: false
881
-
882
- Style/RedundantException:
883
- Description: "Checks for an obsolete RuntimeException argument in raise/fail."
884
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-runtimeerror'
885
- Enabled: false
886
-
887
- Style/RedundantReturn:
888
- Description: "Don't use return where it's not required."
889
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-explicit-return'
890
- Enabled: false
891
-
892
- Style/RedundantSelf:
893
- Description: "Don't use self where it's not needed."
894
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-self-unless-required'
895
- Enabled: false
896
-
897
- Style/RegexpLiteral:
898
- Description: 'Use / or %r around regular expressions.'
899
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
900
- Enabled: false
901
-
902
- Style/RescueEnsureAlignment:
903
- Description: 'Align rescues and ensures correctly.'
904
- Enabled: false
905
-
906
- Style/RescueModifier:
907
- Description: 'Avoid using rescue in its modifier form.'
908
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-rescue-modifiers'
909
- Enabled: false
910
-
911
- Style/SelfAssignment:
912
- Description: >-
913
- Checks for places where self-assignment shorthand should have
914
- been used.
915
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
916
- Enabled: false
917
-
918
- Style/Semicolon:
919
- Description: "Don't use semicolons to terminate expressions."
920
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon'
921
- Enabled: false
922
-
923
- Style/SignalException:
924
- Description: 'Checks for proper usage of fail and raise.'
925
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
926
- Enabled: false
927
-
928
- Style/SingleLineBlockParams:
929
- Description: 'Enforces the names of some block params.'
930
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
931
- Enabled: false
932
-
933
- Style/SingleLineMethods:
934
- Description: 'Avoid single-line methods.'
935
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
936
- Enabled: false
937
-
938
- Style/SpaceBeforeFirstArg:
939
- Description: >-
940
- Checks that exactly one space is used between a method name
941
- and the first argument for method calls without parentheses.
942
- Enabled: true
943
-
944
- Style/SpaceAfterColon:
945
- Description: 'Use spaces after colons.'
946
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
947
- Enabled: false
948
-
949
- Style/SpaceAfterComma:
950
- Description: 'Use spaces after commas.'
951
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
952
- Enabled: false
953
-
954
- Style/SpaceAroundKeyword:
955
- Description: 'Use spaces around keywords.'
956
- Enabled: false
957
-
958
- Style/SpaceAfterMethodName:
959
- Description: >-
960
- Do not put a space between a method name and the opening
961
- parenthesis in a method definition.
962
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
963
- Enabled: false
964
-
965
- Style/SpaceAfterNot:
966
- Description: Tracks redundant space after the ! operator.
967
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-bang'
968
- Enabled: false
969
-
970
- Style/SpaceAfterSemicolon:
971
- Description: 'Use spaces after semicolons.'
972
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
973
- Enabled: false
974
-
975
- Style/SpaceBeforeBlockBraces:
976
- Description: >-
977
- Checks that the left block brace has or doesn't have space
978
- before it.
979
- Enabled: false
980
-
981
- Style/SpaceBeforeComma:
982
- Description: 'No spaces before commas.'
983
- Enabled: false
984
6
 
985
- Style/SpaceBeforeComment:
986
- Description: >-
987
- Checks for missing space between code and a comment on the
988
- same line.
989
- Enabled: false
990
-
991
- Style/SpaceBeforeSemicolon:
992
- Description: 'No spaces before semicolons.'
993
- Enabled: false
994
-
995
- Style/SpaceInsideBlockBraces:
996
- Description: >-
997
- Checks that block braces have or don't have surrounding space.
998
- For blocks taking parameters, checks that the left brace has
999
- or doesn't have trailing space.
1000
- Enabled: false
1001
-
1002
- Style/SpaceAroundBlockParameters:
1003
- Description: 'Checks the spacing inside and after block parameters pipes.'
1004
- Enabled: false
1005
-
1006
- Style/SpaceAroundEqualsInParameterDefault:
1007
- Description: >-
1008
- Checks that the equals signs in parameter default assignments
1009
- have or don't have surrounding space depending on
1010
- configuration.
1011
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-around-equals'
1012
- Enabled: false
1013
-
1014
- Style/SpaceAroundOperators:
1015
- Description: 'Use a single space around operators.'
1016
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1017
- Enabled: false
1018
-
1019
- Style/SpaceInsideBrackets:
1020
- Description: 'No spaces after [ or before ].'
1021
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1022
- Enabled: false
1023
-
1024
- Style/SpaceInsideHashLiteralBraces:
1025
- Description: "Use spaces inside hash literal braces - or don't."
1026
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-operators'
1027
- Enabled: false
1028
-
1029
- Style/SpaceInsideParens:
1030
- Description: 'No spaces after ( or before ).'
1031
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-spaces-braces'
1032
- Enabled: false
1033
-
1034
- Style/SpaceInsideRangeLiteral:
1035
- Description: 'No spaces inside range literals.'
1036
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-space-inside-range-literals'
1037
- Enabled: false
1038
-
1039
- Style/SpaceInsideStringInterpolation:
1040
- Description: 'Checks for padding/surrounding spaces inside string interpolation.'
1041
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#string-interpolation'
1042
- Enabled: false
1043
-
1044
- Style/SpecialGlobalVars:
1045
- Description: 'Avoid Perl-style global variables.'
1046
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
1047
- Enabled: false
7
+ AllCops:
8
+ TargetRubyVersion: 2.6
9
+ UseCache: true
10
+ DefaultFormatter: progress
11
+ DisplayStyleGuide: true
12
+ DisplayCopNames: true
13
+ Exclude:
14
+ - "external*/**/*"
15
+ - "bazel-*/**/*"
16
+ - "**/examples/**/*"
17
+ - "**/BUILD"
18
+ - "**/*.bazel"
19
+ - "**/*.bzl"
20
+ - "**/rubocop"
21
+ - "**/vendor/bundle/**/*"
22
+ Include:
23
+ - '**/*.rb'
24
+ - '**/*.gemfile'
25
+ - '**/*.gemspec'
26
+ - '**/*.rake'
27
+ - '**/*.ru'
28
+ - '**/Gemfile'
29
+ - '**/Rakefile'
30
+
31
+ Layout/HashAlignment:
32
+ Enabled: true
33
+ EnforcedColonStyle: table
34
+
35
+ Style/Dir:
36
+ Enabled: false
37
+
38
+ Layout/MultilineMethodCallIndentation:
39
+ Enabled: true
40
+ EnforcedStyle: indented_relative_to_receiver
1048
41
 
1049
42
  Style/StringLiterals:
1050
- Description: 'Checks if uses of quotes match the configured preference.'
1051
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
1052
- Enabled: false
1053
-
1054
- Style/StringLiteralsInInterpolation:
1055
- Description: >-
1056
- Checks if uses of quotes inside expressions in interpolated
1057
- strings match the configured preference.
1058
- Enabled: false
1059
-
1060
- Style/StructInheritance:
1061
- Description: 'Checks for inheritance from Struct.new.'
1062
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-extend-struct-new'
1063
- Enabled: false
1064
-
1065
- Style/SymbolLiteral:
1066
- Description: 'Use plain symbols instead of string symbols when possible.'
1067
- Enabled: false
1068
-
1069
- Style/SymbolProc:
1070
- Description: 'Use symbols as procs instead of blocks when possible.'
1071
- Enabled: false
1072
-
1073
- Style/Tab:
1074
- Description: 'No hard tabs.'
1075
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation'
1076
- Enabled: false
43
+ EnforcedStyle: single_quotes
1077
44
 
1078
- Style/TrailingBlankLines:
1079
- Description: 'Checks trailing blank lines and final newline.'
1080
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof'
45
+ Security/YAMLLoad:
1081
46
  Enabled: false
1082
47
 
1083
- Style/TrailingCommaInArguments:
1084
- Description: 'Checks for trailing comma in parameter lists.'
1085
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-params-comma'
1086
- Enabled: false
1087
-
1088
- Style/TrailingCommaInLiteral:
1089
- Description: 'Checks for trailing comma in literals.'
1090
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
1091
- Enabled: false
1092
-
1093
- Style/TrailingWhitespace:
1094
- Description: 'Avoid trailing whitespace.'
1095
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-whitespace'
1096
- Enabled: false
1097
-
1098
- Style/TrivialAccessors:
1099
- Description: 'Prefer attr_* methods to trivial readers/writers.'
1100
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
1101
- Enabled: false
1102
-
1103
- Style/UnlessElse:
1104
- Description: >-
1105
- Do not use unless with else. Rewrite these with the positive
1106
- case first.
1107
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-else-with-unless'
1108
- Enabled: false
1109
-
1110
- Style/UnneededCapitalW:
1111
- Description: 'Checks for %W when interpolation is not needed.'
1112
- Enabled: false
1113
-
1114
- Style/UnneededPercentQ:
1115
- Description: 'Checks for %q/%Q when single quotes or double quotes would do.'
1116
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-q'
1117
- Enabled: false
1118
-
1119
- Style/TrailingUnderscoreVariable:
1120
- Description: >-
1121
- Checks for the usage of unneeded trailing underscores at the
1122
- end of parallel variable assignment.
1123
- Enabled: false
1124
-
1125
- Style/VariableInterpolation:
1126
- Description: >-
1127
- Don't interpolate global, instance and class variables
1128
- directly in strings.
1129
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
1130
- Enabled: false
1131
-
1132
- Style/VariableName:
1133
- Description: 'Use the configured style when naming variables.'
1134
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars'
1135
- Enabled: false
1136
-
1137
- Style/WhenThen:
1138
- Description: 'Use when x then ... for one-line cases.'
1139
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
1140
- Enabled: false
1141
-
1142
- Style/WhileUntilDo:
1143
- Description: 'Checks for redundant do after while or until.'
1144
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-multiline-while-do'
1145
- Enabled: false
1146
-
1147
- Style/WhileUntilModifier:
1148
- Description: >-
1149
- Favor modifier while/until usage when you have a
1150
- single-line body.
1151
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
1152
- Enabled: false
1153
-
1154
- Style/WordArray:
1155
- Description: 'Use %w or %W for arrays of words.'
1156
- StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
1157
- Enabled: false
48
+ Metrics/BlockLength:
49
+ Exclude:
50
+ - spec/**/*.rb