message_bus 2.1.6 → 2.2.0.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of message_bus might be problematic. Click here for more details.

Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -92
  3. data/.rubocop_todo.yml +659 -0
  4. data/.travis.yml +1 -1
  5. data/CHANGELOG +61 -0
  6. data/Dockerfile +18 -0
  7. data/Gemfile +3 -1
  8. data/Guardfile +0 -1
  9. data/README.md +188 -101
  10. data/Rakefile +12 -1
  11. data/assets/message-bus.js +1 -1
  12. data/docker-compose.yml +46 -0
  13. data/examples/bench/config.ru +8 -9
  14. data/examples/bench/unicorn.conf.rb +1 -1
  15. data/examples/chat/chat.rb +150 -153
  16. data/examples/minimal/config.ru +2 -3
  17. data/lib/message_bus.rb +224 -36
  18. data/lib/message_bus/backends.rb +7 -0
  19. data/lib/message_bus/backends/base.rb +184 -0
  20. data/lib/message_bus/backends/memory.rb +304 -226
  21. data/lib/message_bus/backends/postgres.rb +359 -318
  22. data/lib/message_bus/backends/redis.rb +380 -337
  23. data/lib/message_bus/client.rb +99 -41
  24. data/lib/message_bus/connection_manager.rb +29 -21
  25. data/lib/message_bus/diagnostics.rb +50 -41
  26. data/lib/message_bus/distributed_cache.rb +5 -7
  27. data/lib/message_bus/message.rb +2 -2
  28. data/lib/message_bus/rack/diagnostics.rb +65 -55
  29. data/lib/message_bus/rack/middleware.rb +64 -44
  30. data/lib/message_bus/rack/thin_ext.rb +13 -9
  31. data/lib/message_bus/rails/railtie.rb +2 -0
  32. data/lib/message_bus/timer_thread.rb +2 -2
  33. data/lib/message_bus/version.rb +2 -1
  34. data/message_bus.gemspec +3 -2
  35. data/spec/assets/support/jasmine_helper.rb +1 -1
  36. data/spec/lib/fake_async_middleware.rb +1 -6
  37. data/spec/lib/message_bus/assets/asset_encoding_spec.rb +3 -3
  38. data/spec/lib/message_bus/backend_spec.rb +409 -0
  39. data/spec/lib/message_bus/client_spec.rb +8 -11
  40. data/spec/lib/message_bus/connection_manager_spec.rb +8 -14
  41. data/spec/lib/message_bus/distributed_cache_spec.rb +0 -4
  42. data/spec/lib/message_bus/multi_process_spec.rb +6 -7
  43. data/spec/lib/message_bus/rack/middleware_spec.rb +47 -43
  44. data/spec/lib/message_bus/timer_thread_spec.rb +0 -2
  45. data/spec/lib/message_bus_spec.rb +59 -43
  46. data/spec/spec_helper.rb +16 -4
  47. metadata +12 -9
  48. data/spec/lib/message_bus/backends/postgres_spec.rb +0 -221
  49. data/spec/lib/message_bus/backends/redis_spec.rb +0 -271
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41c92c01f6f8f8b478877cd97213ceaa9517b28eddb42edc6e421a39d8e6da50
4
- data.tar.gz: 00bab454cbce2f3f264eda6470ade5d61bfde42ddbc8709d288da6ee2c204dd8
3
+ metadata.gz: 2f2c463191e1ea09dd9ae0c716458357d22f8b9b106c2a29424828e6d0fed787
4
+ data.tar.gz: 07610056ac74c3a74be6fdd8eb6efb2347a57c192926f0d96b6d762a40cc77b7
5
5
  SHA512:
6
- metadata.gz: e009850b2ecd51ed40978993297b67f70e2cb50939e46f165630ce5aa3c1b42170e7ca70f753888218c00ec7fb33dd6ece38900d263f683e2183a66a7cbf0e7a
7
- data.tar.gz: 435044844fc8f8620d3ddbac25c5cae390e4ee2988cca28f37fa41da18f12b57293ef7686ecd412af3be23a5a9787e29c459d7bd52548fd1a7bf5378956d5a80
6
+ metadata.gz: 694da29059a65ee280248978a410a4399f4e4a1dd9c0e0d35a5f20aa45bf1a1d7c51edf84b65fe04009c273ef7380a2e49f069d5074bdaafd0c4e8627d3d86e0
7
+ data.tar.gz: f11475f237918bb7ecd1e4378d9bc80872b804d0fcad7893eeccc3491d691d66cc9b6c8960f5eff6a5e1f3eb7057b5d516f485518fb0bc064cd03e5be0c74f72
@@ -1,104 +1,25 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
1
3
  AllCops:
2
4
  TargetRubyVersion: 2.4
3
- DisabledByDefault: true
4
-
5
- # Prefer &&/|| over and/or.
6
- Style/AndOr:
7
- Enabled: true
8
-
9
- # Do not use braces for hash literals when they are the last argument of a
10
- # method call.
11
- Style/BracesAroundHashParameters:
12
- Enabled: true
13
-
14
- # Align `when` with `case`.
15
- Layout/CaseIndentation:
16
- Enabled: true
17
-
18
- # Align comments with method definitions.
19
- Layout/CommentIndentation:
20
- Enabled: true
21
-
22
- # No extra empty lines.
23
- Layout/EmptyLines:
24
- Enabled: true
25
-
26
- # Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
27
- Style/HashSyntax:
28
- Enabled: true
29
-
30
- # Two spaces, no tabs (for indentation).
31
- Layout/IndentationWidth:
32
- Enabled: true
33
-
34
- Layout/SpaceAfterColon:
35
- Enabled: true
36
-
37
- Layout/SpaceAfterComma:
38
- Enabled: true
39
-
40
- Layout/SpaceAroundEqualsInParameterDefault:
41
- Enabled: true
42
-
43
- Layout/SpaceAroundKeyword:
44
- Enabled: true
45
-
46
- Layout/SpaceAroundOperators:
47
- Enabled: true
48
-
49
- Layout/SpaceBeforeFirstArg:
50
- Enabled: true
51
-
52
- # Defining a method with parameters needs parentheses.
53
- Style/MethodDefParentheses:
54
- Enabled: true
55
-
56
- # Use `foo {}` not `foo{}`.
57
- Layout/SpaceBeforeBlockBraces:
58
- Enabled: true
59
-
60
- # Use `foo { bar }` not `foo {bar}`.
61
- Layout/SpaceInsideBlockBraces:
62
- Enabled: true
63
-
64
- # Use `{ a: 1 }` not `{a:1}`.
65
- Layout/SpaceInsideHashLiteralBraces:
66
- Enabled: true
67
-
68
- Layout/SpaceInsideParens:
69
- Enabled: true
70
-
71
- # Detect hard tabs, no hard tabs.
72
- Layout/Tab:
73
- Enabled: true
74
-
75
- # Blank lines should not have any spaces.
76
- Layout/TrailingBlankLines:
77
- Enabled: true
78
-
79
- # No trailing whitespace.
80
- Layout/TrailingWhitespace:
81
- Enabled: true
82
-
83
- Lint/BlockAlignment:
84
- Enabled: true
5
+ DisabledByDefault: false
85
6
 
86
7
  # Align `end` with the matching keyword or starting expression except for
87
8
  # assignments, where it should be aligned with the LHS.
88
- Lint/EndAlignment:
89
- Enabled: true
9
+ Layout/EndAlignment:
90
10
  EnforcedStyleAlignWith: variable
91
11
 
92
- # Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
93
- Lint/RequireParentheses:
94
- Enabled: true
95
-
96
12
  Layout/MultilineMethodCallIndentation:
97
- Enabled: true
98
13
  EnforcedStyle: indented
99
14
 
100
- Layout/AlignHash:
101
- Enabled: true
102
-
103
15
  Bundler/OrderedGems:
104
16
  Enabled: false
17
+
18
+ # Redis backend is quite big
19
+ Metrics/ClassLength:
20
+ Max: 310
21
+
22
+ Metrics/BlockLength:
23
+ Exclude:
24
+ - '**/spec_helper.rb'
25
+ - '**/**_spec.rb'
@@ -0,0 +1,659 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-11-26 16:58:18 +0000 using RuboCop version 0.60.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: TreatCommentsAsGroupSeparators, Include.
12
+ # Include: **/*.gemspec
13
+ Gemspec/OrderedDependencies:
14
+ Exclude:
15
+ - 'message_bus.gemspec'
16
+
17
+ # Offense count: 1
18
+ # Configuration parameters: Include.
19
+ # Include: **/*.gemspec
20
+ Gemspec/RequiredRubyVersion:
21
+ Exclude:
22
+ - 'message_bus.gemspec'
23
+
24
+ # Offense count: 15
25
+ # Configuration parameters: AllowSafeAssignment.
26
+ Lint/AssignmentInCondition:
27
+ Exclude:
28
+ - 'examples/chat/chat.rb'
29
+ - 'lib/message_bus.rb'
30
+ - 'lib/message_bus/backends/memory.rb'
31
+ - 'lib/message_bus/backends/postgres.rb'
32
+ - 'lib/message_bus/rack/middleware.rb'
33
+ - 'lib/message_bus/rack/thin_ext.rb'
34
+ - 'spec/lib/message_bus/client_spec.rb'
35
+ - 'spec/lib/message_bus_spec.rb'
36
+
37
+ # Offense count: 5
38
+ Lint/HandleExceptions:
39
+ Exclude:
40
+ - 'lib/message_bus/backends/postgres.rb'
41
+ - 'lib/message_bus/connection_manager.rb'
42
+ - 'lib/message_bus/diagnostics.rb'
43
+ - 'spec/lib/message_bus/multi_process_spec.rb'
44
+
45
+ # Offense count: 1
46
+ Lint/LiteralAsCondition:
47
+ Exclude:
48
+ - 'examples/chat/chat.rb'
49
+
50
+ # Offense count: 3
51
+ Lint/NonLocalExitFromIterator:
52
+ Exclude:
53
+ - 'lib/message_bus.rb'
54
+ - 'lib/message_bus/backends/postgres.rb'
55
+ - 'lib/message_bus/backends/redis.rb'
56
+
57
+ # Offense count: 1
58
+ # Cop supports --auto-correct.
59
+ Lint/OrderedMagicComments:
60
+ Exclude:
61
+ - 'message_bus.gemspec'
62
+
63
+ # Offense count: 1
64
+ Lint/RescueException:
65
+ Exclude:
66
+ - 'spec/lib/message_bus/multi_process_spec.rb'
67
+
68
+ # Offense count: 1
69
+ # Cop supports --auto-correct.
70
+ Lint/StringConversionInInterpolation:
71
+ Exclude:
72
+ - 'spec/lib/message_bus/multi_process_spec.rb'
73
+
74
+ # Offense count: 30
75
+ Metrics/AbcSize:
76
+ Max: 112
77
+
78
+ # Offense count: 1
79
+ # Configuration parameters: CountComments, ExcludedMethods.
80
+ # ExcludedMethods: refine
81
+ Metrics/BlockLength:
82
+ Max: 29
83
+
84
+ # Offense count: 3
85
+ # Configuration parameters: CountBlocks.
86
+ Metrics/BlockNesting:
87
+ Max: 4
88
+
89
+ # Offense count: 9
90
+ # Configuration parameters: CountComments.
91
+ Metrics/ClassLength:
92
+ Max: 302
93
+
94
+ # Offense count: 18
95
+ Metrics/CyclomaticComplexity:
96
+ Max: 30
97
+
98
+ # Offense count: 38
99
+ # Configuration parameters: CountComments, ExcludedMethods.
100
+ Metrics/MethodLength:
101
+ Max: 105
102
+
103
+ # Offense count: 1
104
+ # Configuration parameters: CountComments.
105
+ Metrics/ModuleLength:
106
+ Max: 419
107
+
108
+ # Offense count: 18
109
+ Metrics/PerceivedComplexity:
110
+ Max: 34
111
+
112
+ # Offense count: 2
113
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
114
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
115
+ Naming/MemoizedInstanceVariableName:
116
+ Exclude:
117
+ - 'lib/message_bus.rb'
118
+ - 'spec/assets/support/jasmine_helper.rb'
119
+
120
+ # Offense count: 2
121
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
122
+ # NamePrefix: is_, has_, have_
123
+ # NamePrefixBlacklist: is_, has_, have_
124
+ # NameWhitelist: is_a?
125
+ # MethodDefinitionMacros: define_method, define_singleton_method
126
+ Naming/PredicateName:
127
+ Exclude:
128
+ - 'spec/**/*'
129
+ - 'lib/message_bus.rb'
130
+ - 'lib/message_bus/backends/redis.rb'
131
+
132
+ # Offense count: 6
133
+ # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
134
+ # AllowedNames: io, id, to, by, on, in, at, ip, db
135
+ Naming/UncommunicativeMethodParamName:
136
+ Exclude:
137
+ - 'lib/message_bus/backends/postgres.rb'
138
+ - 'lib/message_bus/connection_manager.rb'
139
+ - 'lib/message_bus/distributed_cache.rb'
140
+
141
+ # Offense count: 1
142
+ # Cop supports --auto-correct.
143
+ Performance/RedundantBlockCall:
144
+ Exclude:
145
+ - 'lib/message_bus/timer_thread.rb'
146
+
147
+ # Offense count: 2
148
+ # Cop supports --auto-correct.
149
+ # Configuration parameters: MaxKeyValuePairs.
150
+ Performance/RedundantMerge:
151
+ Exclude:
152
+ - 'spec/spec_helper.rb'
153
+
154
+ # Offense count: 3
155
+ # Cop supports --auto-correct.
156
+ Performance/RegexpMatch:
157
+ Exclude:
158
+ - 'lib/message_bus/backends/redis.rb'
159
+ - 'lib/message_bus/rack/diagnostics.rb'
160
+
161
+ # Offense count: 1
162
+ # Cop supports --auto-correct.
163
+ Performance/ReverseEach:
164
+ Exclude:
165
+ - 'spec/lib/message_bus/timer_thread_spec.rb'
166
+
167
+ # Offense count: 2
168
+ # Cop supports --auto-correct.
169
+ # Configuration parameters: AutoCorrect.
170
+ Performance/TimesMap:
171
+ Exclude:
172
+ - 'spec/lib/message_bus/connection_manager_spec.rb'
173
+
174
+ # Offense count: 1
175
+ Security/MarshalLoad:
176
+ Exclude:
177
+ - 'lib/message_bus/distributed_cache.rb'
178
+
179
+ # Offense count: 1
180
+ # Cop supports --auto-correct.
181
+ # Configuration parameters: EnforcedStyle.
182
+ # SupportedStyles: prefer_alias, prefer_alias_method
183
+ Style/Alias:
184
+ Exclude:
185
+ - 'lib/message_bus/rack/thin_ext.rb'
186
+
187
+ # Offense count: 6
188
+ # Cop supports --auto-correct.
189
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods.
190
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining
191
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
192
+ # FunctionalMethods: let, let!, subject, watch
193
+ # IgnoredMethods: lambda, proc, it
194
+ Style/BlockDelimiters:
195
+ Exclude:
196
+ - 'spec/lib/fake_async_middleware.rb'
197
+ - 'spec/lib/message_bus/backend_spec.rb'
198
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
199
+ - 'spec/lib/message_bus/timer_thread_spec.rb'
200
+
201
+ # Offense count: 7
202
+ Style/CaseEquality:
203
+ Exclude:
204
+ - 'lib/message_bus/distributed_cache.rb'
205
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
206
+
207
+ # Offense count: 16
208
+ # Cop supports --auto-correct.
209
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
210
+ # SupportedStyles: nested, compact
211
+ Style/ClassAndModuleChildren:
212
+ Exclude:
213
+ - 'lib/message_bus.rb'
214
+ - 'lib/message_bus/client.rb'
215
+ - 'lib/message_bus/connection_manager.rb'
216
+ - 'lib/message_bus/diagnostics.rb'
217
+ - 'lib/message_bus/message.rb'
218
+ - 'lib/message_bus/rack/diagnostics.rb'
219
+ - 'lib/message_bus/rack/middleware.rb'
220
+ - 'lib/message_bus/rails/railtie.rb'
221
+ - 'lib/message_bus/timer_thread.rb'
222
+ - 'spec/assets/support/jasmine_helper.rb'
223
+
224
+ # Offense count: 1
225
+ Style/ClassVars:
226
+ Exclude:
227
+ - 'lib/message_bus/rack/diagnostics.rb'
228
+
229
+ # Offense count: 3
230
+ # Cop supports --auto-correct.
231
+ # Configuration parameters: Keywords.
232
+ # Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
233
+ Style/CommentAnnotation:
234
+ Exclude:
235
+ - 'lib/message_bus/backends/postgres.rb'
236
+ - 'lib/message_bus/backends/redis.rb'
237
+ - 'lib/message_bus/rack/middleware.rb'
238
+
239
+ # Offense count: 24
240
+ Style/Documentation:
241
+ Exclude:
242
+ - 'spec/**/*'
243
+ - 'test/**/*'
244
+ - 'Rakefile'
245
+ - 'examples/chat/chat.rb'
246
+ - 'lib/message_bus.rb'
247
+ - 'lib/message_bus/backends/memory.rb'
248
+ - 'lib/message_bus/backends/postgres.rb'
249
+ - 'lib/message_bus/backends/redis.rb'
250
+ - 'lib/message_bus/diagnostics.rb'
251
+ - 'lib/message_bus/distributed_cache.rb'
252
+ - 'lib/message_bus/em_ext.rb'
253
+ - 'lib/message_bus/rack/diagnostics.rb'
254
+ - 'lib/message_bus/rails/railtie.rb'
255
+ - 'lib/message_bus/timer_thread.rb'
256
+
257
+ # Offense count: 6
258
+ # Cop supports --auto-correct.
259
+ # Configuration parameters: EnforcedStyle.
260
+ # SupportedStyles: empty, nil, both
261
+ Style/EmptyElse:
262
+ Exclude:
263
+ - 'examples/bench/config.ru'
264
+ - 'lib/message_bus/backends/memory.rb'
265
+ - 'lib/message_bus/backends/postgres.rb'
266
+ - 'lib/message_bus/backends/redis.rb'
267
+ - 'spec/lib/message_bus/backend_spec.rb'
268
+
269
+ # Offense count: 1
270
+ # Cop supports --auto-correct.
271
+ Style/EmptyLiteral:
272
+ Exclude:
273
+ - 'examples/chat/chat.rb'
274
+
275
+ # Offense count: 1
276
+ # Cop supports --auto-correct.
277
+ # Configuration parameters: EnforcedStyle.
278
+ # SupportedStyles: compact, expanded
279
+ Style/EmptyMethod:
280
+ Exclude:
281
+ - 'lib/message_bus/timer_thread.rb'
282
+
283
+ # Offense count: 1
284
+ # Cop supports --auto-correct.
285
+ Style/Encoding:
286
+ Exclude:
287
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
288
+
289
+ # Offense count: 5
290
+ # Cop supports --auto-correct.
291
+ Style/ExpandPathArguments:
292
+ Exclude:
293
+ - 'examples/bench/config.ru'
294
+ - 'examples/chat/chat.rb'
295
+ - 'message_bus.gemspec'
296
+ - 'spec/lib/message_bus/assets/asset_encoding_spec.rb'
297
+
298
+ # Offense count: 25
299
+ # Cop supports --auto-correct.
300
+ # Configuration parameters: EnforcedStyle.
301
+ # SupportedStyles: when_needed, always, never
302
+ Style/FrozenStringLiteralComment:
303
+ Enabled: false
304
+
305
+ # Offense count: 9
306
+ # Configuration parameters: AllowedVariables.
307
+ Style/GlobalVars:
308
+ Exclude:
309
+ - 'examples/chat/chat.rb'
310
+ - 'lib/message_bus/diagnostics.rb'
311
+
312
+ # Offense count: 12
313
+ # Configuration parameters: MinBodyLength.
314
+ Style/GuardClause:
315
+ Exclude:
316
+ - 'lib/message_bus.rb'
317
+ - 'lib/message_bus/backends/memory.rb'
318
+ - 'lib/message_bus/backends/postgres.rb'
319
+ - 'lib/message_bus/backends/redis.rb'
320
+ - 'lib/message_bus/client.rb'
321
+ - 'lib/message_bus/rack/middleware.rb'
322
+
323
+ # Offense count: 2
324
+ Style/IfInsideElse:
325
+ Exclude:
326
+ - 'lib/message_bus.rb'
327
+
328
+ # Offense count: 24
329
+ # Cop supports --auto-correct.
330
+ Style/IfUnlessModifier:
331
+ Exclude:
332
+ - 'examples/chat/chat.rb'
333
+ - 'lib/message_bus.rb'
334
+ - 'lib/message_bus/backends/memory.rb'
335
+ - 'lib/message_bus/backends/postgres.rb'
336
+ - 'lib/message_bus/backends/redis.rb'
337
+ - 'lib/message_bus/client.rb'
338
+ - 'lib/message_bus/rack/diagnostics.rb'
339
+ - 'lib/message_bus/rack/middleware.rb'
340
+ - 'lib/message_bus/timer_thread.rb'
341
+ - 'spec/lib/fake_async_middleware.rb'
342
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
343
+
344
+ # Offense count: 1
345
+ # Cop supports --auto-correct.
346
+ Style/InfiniteLoop:
347
+ Exclude:
348
+ - 'examples/chat/chat.rb'
349
+
350
+ # Offense count: 4
351
+ # Cop supports --auto-correct.
352
+ # Configuration parameters: EnforcedStyle.
353
+ # SupportedStyles: line_count_dependent, lambda, literal
354
+ Style/Lambda:
355
+ Exclude:
356
+ - 'examples/bench/config.ru'
357
+ - 'examples/minimal/config.ru'
358
+ - 'lib/message_bus/timer_thread.rb'
359
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
360
+
361
+ # Offense count: 3
362
+ # Cop supports --auto-correct.
363
+ Style/MutableConstant:
364
+ Exclude:
365
+ - 'lib/message_bus.rb'
366
+ - 'lib/message_bus/backends/postgres.rb'
367
+ - 'spec/spec_helper.rb'
368
+
369
+ # Offense count: 2
370
+ # Cop supports --auto-correct.
371
+ Style/NegatedWhile:
372
+ Exclude:
373
+ - 'lib/message_bus/backends/redis.rb'
374
+ - 'lib/message_bus/timer_thread.rb'
375
+
376
+ # Offense count: 2
377
+ # Cop supports --auto-correct.
378
+ # Configuration parameters: EnforcedStyle, MinBodyLength.
379
+ # SupportedStyles: skip_modifier_ifs, always
380
+ Style/Next:
381
+ Exclude:
382
+ - 'lib/message_bus/connection_manager.rb'
383
+ - 'lib/message_bus/timer_thread.rb'
384
+
385
+ # Offense count: 4
386
+ # Cop supports --auto-correct.
387
+ # Configuration parameters: EnforcedStyle.
388
+ # SupportedStyles: predicate, comparison
389
+ Style/NilComparison:
390
+ Exclude:
391
+ - 'lib/message_bus/backends/redis.rb'
392
+ - 'spec/lib/message_bus/distributed_cache_spec.rb'
393
+
394
+ # Offense count: 6
395
+ # Cop supports --auto-correct.
396
+ # Configuration parameters: Strict.
397
+ Style/NumericLiterals:
398
+ MinDigits: 15
399
+
400
+ # Offense count: 15
401
+ # Cop supports --auto-correct.
402
+ # Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
403
+ # SupportedStyles: predicate, comparison
404
+ Style/NumericPredicate:
405
+ Exclude:
406
+ - 'spec/**/*'
407
+ - 'lib/message_bus.rb'
408
+ - 'lib/message_bus/backends/memory.rb'
409
+ - 'lib/message_bus/backends/postgres.rb'
410
+ - 'lib/message_bus/backends/redis.rb'
411
+ - 'lib/message_bus/client.rb'
412
+ - 'lib/message_bus/rack/middleware.rb'
413
+ - 'lib/message_bus/timer_thread.rb'
414
+
415
+ # Offense count: 1
416
+ # Cop supports --auto-correct.
417
+ # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
418
+ Style/ParenthesesAroundCondition:
419
+ Exclude:
420
+ - 'lib/message_bus.rb'
421
+
422
+ # Offense count: 3
423
+ # Cop supports --auto-correct.
424
+ # Configuration parameters: PreferredDelimiters.
425
+ Style/PercentLiteralDelimiters:
426
+ Exclude:
427
+ - 'Guardfile'
428
+ - 'message_bus.gemspec'
429
+
430
+ # Offense count: 2
431
+ # Cop supports --auto-correct.
432
+ # Configuration parameters: EnforcedStyle.
433
+ # SupportedStyles: compact, exploded
434
+ Style/RaiseArgs:
435
+ Exclude:
436
+ - 'lib/message_bus.rb'
437
+ - 'lib/message_bus/backends/redis.rb'
438
+
439
+ # Offense count: 3
440
+ # Cop supports --auto-correct.
441
+ Style/RedundantBegin:
442
+ Exclude:
443
+ - 'lib/message_bus/backends/redis.rb'
444
+ - 'lib/message_bus/diagnostics.rb'
445
+
446
+ # Offense count: 2
447
+ # Cop supports --auto-correct.
448
+ Style/RedundantConditional:
449
+ Exclude:
450
+ - 'lib/message_bus.rb'
451
+
452
+ # Offense count: 11
453
+ # Cop supports --auto-correct.
454
+ Style/RedundantFreeze:
455
+ Exclude:
456
+ - 'lib/message_bus.rb'
457
+ - 'lib/message_bus/client.rb'
458
+ - 'lib/message_bus/distributed_cache.rb'
459
+
460
+ # Offense count: 1
461
+ # Cop supports --auto-correct.
462
+ Style/RedundantParentheses:
463
+ Exclude:
464
+ - 'lib/message_bus/client.rb'
465
+
466
+ # Offense count: 2
467
+ # Cop supports --auto-correct.
468
+ # Configuration parameters: AllowMultipleReturnValues.
469
+ Style/RedundantReturn:
470
+ Exclude:
471
+ - 'lib/message_bus/rack/diagnostics.rb'
472
+
473
+ # Offense count: 4
474
+ # Cop supports --auto-correct.
475
+ Style/RedundantSelf:
476
+ Exclude:
477
+ - 'lib/message_bus/client.rb'
478
+ - 'lib/message_bus/rack/middleware.rb'
479
+
480
+ # Offense count: 3
481
+ # Cop supports --auto-correct.
482
+ # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
483
+ # SupportedStyles: slashes, percent_r, mixed
484
+ Style/RegexpLiteral:
485
+ Exclude:
486
+ - 'lib/message_bus/rack/diagnostics.rb'
487
+ - 'lib/message_bus/rack/middleware.rb'
488
+
489
+ # Offense count: 2
490
+ # Cop supports --auto-correct.
491
+ Style/RescueModifier:
492
+ Exclude:
493
+ - 'lib/message_bus/client.rb'
494
+ - 'lib/message_bus/connection_manager.rb'
495
+
496
+ # Offense count: 17
497
+ # Cop supports --auto-correct.
498
+ # Configuration parameters: EnforcedStyle.
499
+ # SupportedStyles: implicit, explicit
500
+ Style/RescueStandardError:
501
+ Exclude:
502
+ - 'examples/chat/chat.rb'
503
+ - 'lib/message_bus.rb'
504
+ - 'lib/message_bus/backends/memory.rb'
505
+ - 'lib/message_bus/backends/postgres.rb'
506
+ - 'lib/message_bus/backends/redis.rb'
507
+ - 'lib/message_bus/client.rb'
508
+ - 'lib/message_bus/connection_manager.rb'
509
+ - 'lib/message_bus/diagnostics.rb'
510
+ - 'lib/message_bus/rack/middleware.rb'
511
+ - 'lib/message_bus/timer_thread.rb'
512
+
513
+ # Offense count: 17
514
+ # Cop supports --auto-correct.
515
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
516
+ # Whitelist: present?, blank?, presence, try, try!
517
+ Style/SafeNavigation:
518
+ Exclude:
519
+ - 'lib/message_bus.rb'
520
+ - 'lib/message_bus/connection_manager.rb'
521
+ - 'lib/message_bus/diagnostics.rb'
522
+ - 'lib/message_bus/distributed_cache.rb'
523
+ - 'lib/message_bus/rack/middleware.rb'
524
+ - 'lib/message_bus/timer_thread.rb'
525
+ - 'spec/lib/message_bus/multi_process_spec.rb'
526
+
527
+ # Offense count: 6
528
+ # Cop supports --auto-correct.
529
+ # Configuration parameters: AllowIfMethodIsEmpty.
530
+ Style/SingleLineMethods:
531
+ Exclude:
532
+ - 'spec/lib/message_bus/connection_manager_spec.rb'
533
+ - 'spec/lib/message_bus/rack/middleware_spec.rb'
534
+
535
+ # Offense count: 10
536
+ # Cop supports --auto-correct.
537
+ # Configuration parameters: EnforcedStyle.
538
+ # SupportedStyles: use_perl_names, use_english_names
539
+ Style/SpecialGlobalVars:
540
+ Exclude:
541
+ - 'examples/chat/chat.rb'
542
+ - 'lib/message_bus/diagnostics.rb'
543
+ - 'lib/message_bus/rack/middleware.rb'
544
+ - 'message_bus.gemspec'
545
+ - 'spec/spec_helper.rb'
546
+
547
+ # Offense count: 652
548
+ # Cop supports --auto-correct.
549
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
550
+ # SupportedStyles: single_quotes, double_quotes
551
+ Style/StringLiterals:
552
+ Enabled: false
553
+
554
+ # Offense count: 8
555
+ # Cop supports --auto-correct.
556
+ # Configuration parameters: EnforcedStyle.
557
+ # SupportedStyles: single_quotes, double_quotes
558
+ Style/StringLiteralsInInterpolation:
559
+ Exclude:
560
+ - 'examples/chat/chat.rb'
561
+ - 'lib/message_bus/rack/diagnostics.rb'
562
+
563
+ # Offense count: 1
564
+ Style/StructInheritance:
565
+ Exclude:
566
+ - 'lib/message_bus/message.rb'
567
+
568
+ # Offense count: 1
569
+ # Cop supports --auto-correct.
570
+ # Configuration parameters: MinSize.
571
+ # SupportedStyles: percent, brackets
572
+ Style/SymbolArray:
573
+ EnforcedStyle: brackets
574
+
575
+ # Offense count: 7
576
+ # Cop supports --auto-correct.
577
+ # Configuration parameters: IgnoredMethods.
578
+ # IgnoredMethods: respond_to, define_method
579
+ Style/SymbolProc:
580
+ Exclude:
581
+ - 'spec/lib/message_bus/assets/asset_encoding_spec.rb'
582
+ - 'spec/lib/message_bus/backend_spec.rb'
583
+ - 'spec/lib/message_bus_spec.rb'
584
+
585
+ # Offense count: 2
586
+ # Cop supports --auto-correct.
587
+ # Configuration parameters: EnforcedStyleForMultiline.
588
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
589
+ Style/TrailingCommaInArrayLiteral:
590
+ Exclude:
591
+ - 'spec/lib/message_bus/backend_spec.rb'
592
+
593
+ # Offense count: 3
594
+ # Cop supports --auto-correct.
595
+ # Configuration parameters: AllowNamedUnderscoreVariables.
596
+ Style/TrailingUnderscoreVariable:
597
+ Exclude:
598
+ - 'lib/message_bus/timer_thread.rb'
599
+ - 'spec/lib/message_bus/client_spec.rb'
600
+
601
+ # Offense count: 5
602
+ # Cop supports --auto-correct.
603
+ # Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist.
604
+ # Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
605
+ Style/TrivialAccessors:
606
+ Exclude:
607
+ - 'lib/message_bus/client.rb'
608
+ - 'lib/message_bus/distributed_cache.rb'
609
+ - 'spec/lib/fake_async_middleware.rb'
610
+ - 'spec/lib/message_bus/connection_manager_spec.rb'
611
+
612
+ # Offense count: 1
613
+ # Cop supports --auto-correct.
614
+ Style/UnneededInterpolation:
615
+ Exclude:
616
+ - 'lib/message_bus/distributed_cache.rb'
617
+
618
+ # Offense count: 2
619
+ # Cop supports --auto-correct.
620
+ Style/UnneededPercentQ:
621
+ Exclude:
622
+ - 'message_bus.gemspec'
623
+
624
+ # Offense count: 1
625
+ # Cop supports --auto-correct.
626
+ Style/WhileUntilModifier:
627
+ Exclude:
628
+ - 'spec/spec_helper.rb'
629
+
630
+ # Offense count: 10
631
+ # Cop supports --auto-correct.
632
+ # Configuration parameters: WordRegex.
633
+ # SupportedStyles: percent, brackets
634
+ Style/WordArray:
635
+ EnforcedStyle: percent
636
+ MinSize: 5
637
+
638
+ # Offense count: 1
639
+ # Cop supports --auto-correct.
640
+ # Configuration parameters: EnforcedStyle.
641
+ # SupportedStyles: all_comparison_operators, equality_operators_only
642
+ Style/YodaCondition:
643
+ Exclude:
644
+ - 'spec/lib/message_bus/timer_thread_spec.rb'
645
+
646
+ # Offense count: 6
647
+ # Cop supports --auto-correct.
648
+ Style/ZeroLengthPredicate:
649
+ Exclude:
650
+ - 'lib/message_bus/backends/redis.rb'
651
+ - 'lib/message_bus/client.rb'
652
+ - 'lib/message_bus/rack/middleware.rb'
653
+ - 'spec/lib/message_bus_spec.rb'
654
+
655
+ # Offense count: 160
656
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
657
+ # URISchemes: http, https
658
+ Metrics/LineLength:
659
+ Max: 215