sidekiq-prometheus-exporter 0.1.12 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +5 -5
  2. data/.github/FUNDING.yml +12 -0
  3. data/.github/workflows/ci.yaml +68 -0
  4. data/.gitignore +3 -1
  5. data/.rubocop.yml +43 -296
  6. data/Appraisals +17 -4
  7. data/README.md +98 -50
  8. data/Rakefile +83 -0
  9. data/docker/Dockerfile +24 -0
  10. data/docker/README.md +61 -0
  11. data/docker/config.ru +41 -0
  12. data/examples/docker-compose.yml +2 -2
  13. data/examples/metrics/config.ru +2 -0
  14. data/examples/screenshot.png +0 -0
  15. data/examples/sidekiq/sidekiq.rb +2 -0
  16. data/examples/{sidekiq.json → sidekiq-dashboard.grafana-6.json} +10 -52
  17. data/examples/sidekiq-dashboard.grafana-7.json +845 -0
  18. data/gemfiles/{sidekiq_3.3.1.gemfile → sidekiq_3.3.1.Gemfile} +2 -1
  19. data/gemfiles/sidekiq_3.3.1.Gemfile.lock +125 -0
  20. data/gemfiles/{sidekiq_3.x.gemfile → sidekiq_3.x.Gemfile} +2 -1
  21. data/gemfiles/{sidekiq_3.x.gemfile.lock → sidekiq_3.x.Gemfile.lock} +63 -61
  22. data/gemfiles/{sidekiq_4.x.gemfile → sidekiq_4.x.Gemfile} +1 -1
  23. data/gemfiles/sidekiq_4.x.Gemfile.lock +101 -0
  24. data/gemfiles/{sidekiq_5.x.gemfile → sidekiq_5.x.Gemfile} +1 -1
  25. data/gemfiles/sidekiq_5.x.Gemfile.lock +100 -0
  26. data/gemfiles/sidekiq_6.x.Gemfile +8 -0
  27. data/gemfiles/sidekiq_6.x.Gemfile.lock +97 -0
  28. data/gemfiles/sidekiq_latest.Gemfile +9 -0
  29. data/gemfiles/sidekiq_latest.Gemfile.lock +113 -0
  30. data/helm/sidekiq-prometheus-exporter/.helmignore +22 -0
  31. data/helm/sidekiq-prometheus-exporter/Chart.yaml +6 -0
  32. data/helm/sidekiq-prometheus-exporter/README.md +87 -0
  33. data/helm/sidekiq-prometheus-exporter/templates/NOTES.txt +15 -0
  34. data/helm/sidekiq-prometheus-exporter/templates/_helpers.tpl +109 -0
  35. data/helm/sidekiq-prometheus-exporter/templates/clusterrole.yaml +20 -0
  36. data/helm/sidekiq-prometheus-exporter/templates/clusterrolebinding.yaml +17 -0
  37. data/helm/sidekiq-prometheus-exporter/templates/deployment.yaml +62 -0
  38. data/helm/sidekiq-prometheus-exporter/templates/service.yaml +17 -0
  39. data/helm/sidekiq-prometheus-exporter/templates/serviceaccount.yaml +9 -0
  40. data/helm/sidekiq-prometheus-exporter/templates/servicemonitor.yaml +26 -0
  41. data/helm/sidekiq-prometheus-exporter/values.yaml +135 -0
  42. data/lib/sidekiq/prometheus/exporter/standard.rb +19 -5
  43. data/lib/sidekiq/prometheus/exporter/templates/standard.erb +13 -1
  44. data/lib/sidekiq/prometheus/exporter/version.rb +1 -1
  45. data/lib/sidekiq/prometheus/exporter.rb +3 -1
  46. data/sidekiq-prometheus-exporter.gemspec +9 -7
  47. metadata +74 -41
  48. data/.codeclimate.yml +0 -16
  49. data/.travis.yml +0 -23
  50. data/gemfiles/sidekiq_3.3.1.gemfile.lock +0 -138
  51. data/gemfiles/sidekiq_4.x.gemfile.lock +0 -101
  52. data/gemfiles/sidekiq_5.x.gemfile.lock +0 -99
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8465ee046fa10f2c5144bb12fab3a77aa6233253
4
- data.tar.gz: a00265012ab3169bbd9d3eabe8bc4c65b0bc01a3
2
+ SHA256:
3
+ metadata.gz: 35e10d4b151d755705e57fabba8497aceb6d83ebfe042dc09e4dd310e7c62c5a
4
+ data.tar.gz: cbe9fc29d375d66550ff05077dcb00e0fa24c2ffc843e660ef2509e7e39df8f7
5
5
  SHA512:
6
- metadata.gz: 5719faa2d228e1d405fb82e9e803d3f1df88cac8cc0aa123c8d9941c5ecb7ddd16f0ee2c0b6f2dcfa5f20ffaa6ed1aad8cd6c6979bdbc6a9aa26b3407b2b2707
7
- data.tar.gz: 57e38e7abe679694b57dcf36bf60cfd81850c71798b4899a1e0e90c024b4313141f6ff1a71c95c57d8eb43800e8a48ab4c99cb7d8e154817f0b31c1bf1abdfab
6
+ metadata.gz: 29d0f796a65f70debbc1ae73d8e71ba3425b9a16b0b1b8f79fad7c4668941b88f2ef82c004af9e537bf6cbc9d1c17df4095e9ac69a1c1e296342557a94bd79e0
7
+ data.tar.gz: eae4aa3a3326cb67e8e63189e8857bcf21d082c883ef55cd213f4de40b3bd566f7a998a282b3193b992ef2b5df3471ec0b6800f9cdc4b7b8b22e7b47b859f3d4
@@ -0,0 +1,12 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [Strech]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: strech
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: ['https://paypal.me/onistrech/eur5.0']
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: CI
3
+ on:
4
+ push:
5
+ branches: ["master"]
6
+ pull_request:
7
+ branches: ["master"]
8
+ jobs:
9
+ rubocop:
10
+ name: Rubocop
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: 3.0.2
17
+ - name: rubocop
18
+ uses: reviewdog/action-rubocop@v2
19
+ with:
20
+ github_token: ${{ secrets.GITHUB_TOKEN }}
21
+ rubocop_version: gemfile
22
+ rubocop_extensions: rubocop-rake:gemfile rubocop-rspec:gemfile rubocop-performance:gemfile
23
+ reporter: github-pr-review
24
+ fail_on_error: true
25
+
26
+ test:
27
+ needs: rubocop
28
+ runs-on: ubuntu-latest
29
+ name: Ruby ${{ matrix.ruby }} / Sidekiq ${{ matrix.sidekiq }}
30
+ strategy:
31
+ matrix:
32
+ # Always keep a window of "5 most recent" including (or on top with) HEAD
33
+ ruby: ["2.5.9", "2.6.8", "2.7.4", "3.0.2", "latest"]
34
+ sidekiq: ["3.3.1", "3.x", "4.x", "5.x", "6.x", "latest"]
35
+ # Allow failures ... kind-a
36
+ exclude:
37
+ - ruby: "2.5.9"
38
+ sidekiq: "latest"
39
+ - ruby: "2.6.8"
40
+ sidekiq: "latest"
41
+ - ruby: "2.7.4"
42
+ sidekiq: "latest"
43
+ - ruby: "3.0.2"
44
+ sidekiq: "latest"
45
+
46
+ container:
47
+ image: ruby:${{ matrix.ruby }}
48
+
49
+ steps:
50
+ - uses: actions/checkout@v2
51
+
52
+ - uses: actions/cache@v2
53
+ id: vendor-cache
54
+ with:
55
+ path: vendor
56
+ key: bundle-${{ matrix.ruby }}-sidekiq-${{ matrix.sidekiq }}-${{ hashFiles('**/*.gemspec') }}-${{ hashFiles('**/.*Gemfile.lock') }}
57
+
58
+ - name: Upgrade Bundler to 2.x (for older Ruby versions)
59
+ run: gem install bundler -v '~> 2.1'
60
+
61
+ - name: Bundle install
62
+ run: |
63
+ bundle config path vendor/bundle
64
+ bundle config gemfile gemfiles/sidekiq_${{ matrix.sidekiq }}.Gemfile
65
+ bundle install
66
+
67
+ - name: Run RSpec
68
+ run: bundle exec rake spec
data/.gitignore CHANGED
@@ -1,4 +1,3 @@
1
- /.bundle/
2
1
  /.yardoc
3
2
  /_yardoc/
4
3
  /coverage/
@@ -9,6 +8,9 @@
9
8
  /Gemfile.lock
10
9
  /.ruby-version
11
10
 
11
+ # Global ignore of bundler config
12
+ .bundle/
13
+
12
14
  # rspec failure tracking
13
15
  .rspec_status
14
16
 
data/.rubocop.yml CHANGED
@@ -1,46 +1,24 @@
1
1
  ---
2
- require: rubocop-rspec
2
+ require:
3
+ - rubocop-rake
4
+ - rubocop-rspec
5
+ - rubocop-performance
3
6
 
4
7
  AllCops:
5
- TargetRubyVersion: 2.2
6
-
7
- Style/Alias:
8
- EnforcedStyle: prefer_alias_method
9
-
10
- Style/AndOr:
11
- # Whether `and` and `or` are banned only in conditionals (conditionals)
12
- # or completely (always).
13
- EnforcedStyle: conditionals
14
-
15
- # Use ` or %x around command literals.
16
- Style/CommandLiteral:
17
- EnforcedStyle: mixed
18
- # backticks: Always use backticks.
19
- # percent_x: Always use %x.
20
- # mixed: Use backticks on single-line commands, and %x on multi-line commands.
21
- SupportedStyles:
22
- - backticks
23
- - percent_x
24
- - mixed
25
- # If false, the cop will always recommend using %x if one or more backticks
26
- # are found in the command string.
27
- AllowInnerBackticks: false
8
+ NewCops: enable
9
+ SuggestExtensions: false
10
+ TargetRubyVersion: ~
11
+
12
+ Gemspec/RequiredRubyVersion:
13
+ Enabled: false
28
14
 
29
15
  Style/Documentation:
30
16
  Enabled: false
31
17
 
32
18
  Style/FrozenStringLiteralComment:
33
- EnforcedStyle: when_needed
34
- SupportedStyles:
35
- # `when_needed` will add the frozen string literal comment to files
36
- # only when the `TargetRubyVersion` is set to 2.3+.
37
- - when_needed
38
- # `always` will always add the frozen string literal comment to a file
39
- # regardless of the Ruby version or if `freeze` or `<<` are called on a
40
- # string literal. If you run code against multiple versions of Ruby, it is
41
- # possible that this will create errors in Ruby 2.3.0+.
42
- - always
19
+ EnforcedStyle: always
43
20
  Exclude:
21
+ - "Appraisals"
44
22
  - "Gemfile"
45
23
  - "Rakefile"
46
24
  - "bin/*"
@@ -49,199 +27,31 @@ Style/FrozenStringLiteralComment:
49
27
  - "**/*.gemspec"
50
28
  - "**/*.rake"
51
29
 
52
- # Enable when it will respect line length rules
53
- Style/IfUnlessModifier:
30
+ Style/PercentLiteralDelimiters:
31
+ PreferredDelimiters:
32
+ "%i": "()"
33
+ "%w": "()"
34
+
35
+ Style/TernaryParentheses:
36
+ EnforcedStyle: require_parentheses_when_complex
37
+
38
+ Style/RedundantFreeze:
54
39
  Enabled: false
55
40
 
56
- Style/Lambda:
57
- EnforcedStyle: literal
58
- SupportedStyles:
59
- - line_count_dependent
60
- - lambda
61
- - literal
62
-
63
- Style/Next:
64
- # With `always` all conditions at the end of an iteration needs to be
65
- # replaced by next - with `skip_modifier_ifs` the modifier if like this one
66
- # are ignored: [1, 2].each { |a| return 'yes' if a == 1 }
67
- EnforcedStyle: skip_modifier_ifs
68
- # `MinBodyLength` defines the number of lines of the a body of an if / unless
69
- # needs to have to trigger this cop
70
- MinBodyLength: 3
71
- SupportedStyles:
72
- - skip_modifier_ifs
73
- - always
74
-
75
- Style/NonNilCheck:
76
- # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for
77
- # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is
78
- # **usually** OK, but might change behavior.
79
- #
80
- # With `IncludeSemanticChanges` set to `false`, this cop does not report
81
- # offenses for `!x.nil?` and does no changes that might change behavior.
82
- IncludeSemanticChanges: false
41
+ Style/IfUnlessModifier:
42
+ Enabled: false
83
43
 
84
44
  Style/NumericPredicate:
85
45
  EnforcedStyle: predicate
86
- SupportedStyles:
87
- - predicate
88
- - comparison
89
- # Exclude RSpec specs because assertions like `expect(1).to be > 0` cause
90
- # false positives.
91
46
  Exclude:
92
- - 'spec/**/*'
47
+ - "spec/**/*"
93
48
 
94
- Style/MethodCalledOnDoEndBlock:
95
- Description: 'Avoid chaining a method call on a do...end block.'
96
- StyleGuide: '#single-line-blocks'
97
- Enabled: true
98
-
99
- Style/PercentLiteralDelimiters:
100
- PreferredDelimiters:
101
- '%': ()
102
- '%i': ()
103
- '%I': ()
104
- '%q': ()
105
- '%Q': ()
106
- '%r': '{}'
107
- '%s': ()
108
- '%w': ()
109
- '%W': ()
110
- '%x': '{}'
111
-
112
- Style/SpecialGlobalVars:
113
- EnforcedStyle: use_english_names
114
- SupportedStyles:
115
- - use_perl_names
116
- - use_english_names
117
-
118
- Style/StabbyLambdaParentheses:
119
- EnforcedStyle: require_parentheses
120
- SupportedStyles:
121
- - require_parentheses
122
- - require_no_parentheses
123
-
124
- Style/StringLiterals:
125
- EnforcedStyle: single_quotes
126
- SupportedStyles:
127
- - single_quotes
128
- - double_quotes
129
- # If true, strings which span multiple lines using \ for continuation must
130
- # use the same type of quotes on each line.
131
- ConsistentQuotesInMultiline: false
132
-
133
- Style/StringLiteralsInInterpolation:
134
- EnforcedStyle: single_quotes
135
- SupportedStyles:
136
- - single_quotes
137
- - double_quotes
138
-
139
- Style/StringMethods:
140
- # Mapping from undesired method to desired_method
141
- # e.g. to use `to_sym` over `intern`:
142
- #
143
- # StringMethods:
144
- # PreferredMethods:
145
- # intern: to_sym
146
- PreferredMethods:
147
- intern: to_sym
148
-
149
- Style/TernaryParentheses:
150
- EnforcedStyle: require_parentheses_when_complex
151
- SupportedStyles:
152
- - require_parentheses
153
- - require_no_parentheses
154
- - require_parentheses_when_complex
155
- AllowSafeAssignment: true
156
-
157
- #################### Naming ####################################
158
-
159
- Naming/AccessorMethodName:
160
- Description: Check the naming of accessor methods for get_/set_.
161
- StyleGuide: '#accessor_mutator_method_names'
162
-
163
- # https://rubocop.readthedocs.io/en/latest/cops_naming/#naminguncommunicativemethodparamname
164
- Naming/UncommunicativeMethodParamName:
165
- AllowedNames:
166
- - _
167
- - io
168
- - id
169
- - to
170
- - by
171
- - on
172
- - in
173
- - at
174
-
175
- #################### Layout ####################################
176
-
177
- Layout/AlignParameters:
178
- # Alignment of parameters in multi-line method calls.
179
- #
180
- # The `with_first_parameter` style aligns the following lines along the same
181
- # column as the first parameter.
182
- #
183
- # method_call(a,
184
- # b)
185
- #
186
- # The `with_fixed_indentation` style aligns the following lines with one
187
- # level of indentation relative to the start of the line with the method call.
188
- #
189
- # method_call(a,
190
- # b)
191
- EnforcedStyle: with_fixed_indentation
192
- SupportedStyles:
193
- - with_first_parameter
194
- - with_fixed_indentation
195
-
196
- # Checks the indentation of the first element in an array literal.
197
- Layout/IndentArray:
198
- # The value `special_inside_parentheses` means that array literals with
199
- # brackets that have their opening bracket on the same line as a surrounding
200
- # opening round parenthesis, shall have their first element indented relative
201
- # to the first position inside the parenthesis.
202
- #
203
- # The value `consistent` means that the indentation of the first element shall
204
- # always be relative to the first position of the line where the opening
205
- # bracket is.
206
- #
207
- # The value `align_brackets` means that the indentation of the first element
208
- # shall always be relative to the position of the opening bracket.
209
- EnforcedStyle: consistent
210
- SupportedStyles:
211
- - special_inside_parentheses
212
- - consistent
213
- - align_brackets
214
- # By default, the indentation width from Style/IndentationWidth is used
215
- # But it can be overridden by setting this parameter
216
- IndentationWidth: ~
217
-
218
- # Checks the indentation of the first key in a hash literal.
219
- Layout/IndentHash:
220
- # The value `special_inside_parentheses` means that hash literals with braces
221
- # that have their opening brace on the same line as a surrounding opening
222
- # round parenthesis, shall have their first key indented relative to the
223
- # first position inside the parenthesis.
224
- #
225
- # The value `consistent` means that the indentation of the first key shall
226
- # always be relative to the first position of the line where the opening
227
- # brace is.
228
- #
229
- # The value `align_braces` means that the indentation of the first key shall
230
- # always be relative to the position of the opening brace.
231
- EnforcedStyle: consistent
232
- SupportedStyles:
233
- - special_inside_parentheses
234
- - consistent
235
- - align_braces
236
- # By default, the indentation width from Style/IndentationWidth is used
237
- # But it can be overridden by setting this parameter
238
- IndentationWidth: ~
49
+ Style/NumericLiterals:
50
+ Exclude:
51
+ - "spec/**/*"
239
52
 
240
- Layout/SpaceBeforeFirstArg:
241
- # When true, allows most uses of extra spacing if the intent is to align
242
- # things with the previous or next line, not counting empty lines or comment
243
- # lines.
244
- AllowForAlignment: false
53
+ Layout/LineLength:
54
+ Max: 120
245
55
 
246
56
  Layout/SpaceAroundBlockParameters:
247
57
  EnforcedStyleInsidePipes: no_space
@@ -249,137 +59,74 @@ Layout/SpaceAroundBlockParameters:
249
59
  Layout/SpaceInsideHashLiteralBraces:
250
60
  EnforcedStyle: no_space
251
61
  EnforcedStyleForEmptyBraces: no_space
252
- SupportedStyles:
253
- - space
254
- - no_space
255
- # 'compact' normally requires a space inside hash braces, with the exception
256
- # that successive left braces or right braces are collapsed together
257
- - compact
258
62
 
259
63
  Layout/MultilineMethodCallIndentation:
260
64
  EnforcedStyle: indented
261
- SupportedStyles:
262
- - aligned
263
- - indented
264
- - indented_relative_to_receiver
265
- # By default, the indentation width from Layout/IndentationWidth is used
266
- # But it can be overridden by setting this parameter
267
65
  IndentationWidth: ~
268
66
 
269
67
  Layout/MultilineOperationIndentation:
270
68
  EnforcedStyle: indented
271
- SupportedStyles:
272
- - aligned
273
- - indented
274
- # By default, the indentation width from Style/IndentationWidth is used
275
- # But it can be overridden by setting this parameter
276
69
  IndentationWidth: ~
277
70
 
278
- ##################### Metrics ##################################
279
-
280
- Metrics/LineLength:
281
- # Default: 80
282
- Max: 120
71
+ Metrics/AbcSize:
72
+ Max: 25
73
+ CountRepeatedAttributes: false
283
74
 
284
75
  Metrics/MethodLength:
285
- # Default: 10
286
76
  Max: 15
287
77
 
288
78
  Metrics/BlockLength:
289
79
  Exclude:
290
- - 'Rakefile'
291
- - '**/*.gemspec'
292
- - '**/*.rake'
293
- - 'spec/**/*.rb'
294
-
295
- ##################### Lint ##################################
80
+ - "Rakefile"
81
+ - "**/*.gemspec"
82
+ - "**/*.rake"
83
+ - "spec/**/*.rb"
296
84
 
297
- # https://rubocop.readthedocs.io/en/latest/cops_lint/#lintambiguousblockassociation
298
85
  Lint/AmbiguousBlockAssociation:
299
86
  Enabled: false
300
87
 
301
- Lint/InheritException:
302
- # The default base class in favour of `Exception`.
303
- EnforcedStyle: standard_error
304
- SupportedStyles:
305
- - runtime_error
306
- - standard_error
307
-
308
- ##################### Rails ##################################
309
-
310
- # NOT IMPLEMENTED YET
311
- # Rails/EnumUniqueness:
312
- # Include:
313
- # - app/models/**/*.rb
314
-
315
- ##################### RSpec ##################################
88
+ Lint/StructNewOverride:
89
+ Exclude:
90
+ - "lib/sidekiq/prometheus/exporter/standard.rb"
316
91
 
317
- # Disabled because we want to adjust it and allow to use it
318
92
  RSpec/AnyInstance:
319
93
  Enabled: false
320
94
 
321
- # Allow only `when` prefix
322
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L51
323
95
  RSpec/ContextWording:
324
96
  Prefixes:
325
97
  - when
326
98
 
327
- Layout/DefEndAlignment:
328
- # The value `def` means that `end` should be aligned with the def keyword.
329
- # The value `start_of_line` means that `end` should be aligned with method
330
- # calls like `private`, `public`, etc, if present in front of the `def`
331
- # keyword on the same line.
332
- EnforcedStyleAlignWith: start_of_line
333
- AutoCorrect: false
334
-
335
- # Disabled because we want to adjust it and allow to use it
336
- # and allow just to write a normal description
337
99
  RSpec/DescribeMethod:
338
100
  Enabled: false
339
101
 
340
- # Allow only for inline test cases
341
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L122
342
102
  RSpec/ExampleWithoutDescription:
343
103
  EnforcedStyle: single_line_only
344
104
 
345
- # Disabled because we want to adjust it and allow to use it with
346
- # better names, not everything is squashed
347
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L169
348
105
  RSpec/FilePath:
349
106
  Enabled: false
350
107
 
351
- # Don't run check because no implicit expectations are allowed
352
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L193
353
108
  RSpec/ImplicitExpect:
354
109
  Enabled: false
355
110
 
356
- # Disabled because we want to adjust it and allow to use it with the
357
- # option to check that it's the latest item in the context `let`s
358
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L227
359
111
  RSpec/LeadingSubject:
360
112
  Enabled: false
361
113
 
362
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L247
363
114
  RSpec/MessageExpectation:
364
115
  Enabled: true
365
116
 
366
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L275
367
117
  RSpec/MultipleExpectations:
368
118
  Enabled: true
369
- # Default: 1
370
119
  Max: 5
371
120
 
372
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L292
121
+ RSpec/MultipleMemoizedHelpers:
122
+ Max: 7
123
+
373
124
  RSpec/NestedGroups:
374
- Description: Checks for nested example groups.
375
125
  Enabled: true
376
- # Default: 3
377
126
  Max: 4
378
127
 
379
- # https://github.com/rubocop-hq/rubocop-rspec/blob/c1fd129a59e650b8af518ae2e62848aa7eb8498e/config/default.yml#L366
380
128
  RSpec/ScatteredSetup:
381
129
  Enabled: true
382
130
 
383
- # Enable in future
384
- FactoryBot/AttributeDefinedStatically:
131
+ Rake/Desc:
385
132
  Enabled: false
data/Appraisals CHANGED
@@ -1,6 +1,7 @@
1
1
  appraise 'sidekiq-3.3.1' do
2
2
  gem 'slim'
3
- gem 'redis', '>= 3.3.5'
3
+ gem 'redis', '~> 3.3'
4
+ gem 'redis-namespace', '< 1.7.0'
4
5
  gem 'sinatra'
5
6
  gem 'concurrent-ruby'
6
7
  gem 'sidekiq', '= 3.3.1'
@@ -8,18 +9,30 @@ end
8
9
 
9
10
  appraise 'sidekiq-3.x' do
10
11
  gem 'slim'
11
- gem 'redis', '>= 3.3.5'
12
+ gem 'redis', '~> 3.3'
13
+ gem 'redis-namespace', '< 1.7.0'
12
14
  gem 'sinatra'
13
15
  gem 'concurrent-ruby'
14
16
  gem 'sidekiq', '~> 3.0'
15
17
  end
16
18
 
17
19
  appraise 'sidekiq-4.x' do
18
- gem 'redis', '>= 3.3.5'
20
+ gem 'redis', '~> 3.3'
19
21
  gem 'sidekiq', '~> 4.0'
20
22
  end
21
23
 
22
24
  appraise 'sidekiq-5.x' do
23
- gem 'redis', '>= 3.3.5'
25
+ gem 'redis', '~> 3.3'
24
26
  gem 'sidekiq', '~> 5.0'
25
27
  end
28
+
29
+ appraise 'sidekiq-6.x' do
30
+ gem 'redis', '~> 4.1'
31
+ gem 'sidekiq', '~> 6.0'
32
+ end
33
+
34
+ appraise 'sidekiq-latest' do
35
+ gem 'rack', '>= 2', github: 'rack/rack'
36
+ gem 'redis', '>= 4', github: 'redis/redis-rb'
37
+ gem 'sidekiq', '>= 6', github: 'mperham/sidekiq'
38
+ end