sidekiq-throttled 0.11.0 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +51 -0
- data/.rubocop/layout.yml +24 -0
- data/.rubocop/lint.yml +41 -0
- data/.rubocop/metrics.yml +4 -0
- data/.rubocop/performance.yml +25 -0
- data/.rubocop/rspec.yml +3 -0
- data/.rubocop/style.yml +84 -0
- data/.rubocop.yml +13 -68
- data/.rubocop_todo.yml +10 -35
- data/.travis.yml +2 -1
- data/Appraisals +16 -0
- data/CHANGES.md +53 -0
- data/Gemfile +6 -5
- data/LICENSE.md +2 -1
- data/README.md +49 -18
- data/gemfiles/sidekiq_5.0.gemfile +6 -5
- data/gemfiles/sidekiq_5.1.gemfile +6 -5
- data/gemfiles/sidekiq_5.2.gemfile +6 -5
- data/gemfiles/sidekiq_6.0.gemfile +31 -0
- data/gemfiles/sidekiq_6.1.gemfile +31 -0
- data/gemfiles/sidekiq_6.2.gemfile +31 -0
- data/gemfiles/sidekiq_6.3.gemfile +31 -0
- data/lib/sidekiq/throttled/communicator/callbacks.rb +8 -9
- data/lib/sidekiq/throttled/communicator/listener.rb +3 -3
- data/lib/sidekiq/throttled/expirable_list.rb +1 -1
- data/lib/sidekiq/throttled/fetch.rb +34 -20
- data/lib/sidekiq/throttled/queue_name.rb +1 -1
- data/lib/sidekiq/throttled/registry.rb +2 -5
- data/lib/sidekiq/throttled/strategy/concurrency.rb +5 -5
- data/lib/sidekiq/throttled/strategy/threshold.rb +6 -5
- data/lib/sidekiq/throttled/strategy.rb +15 -20
- data/lib/sidekiq/throttled/strategy_collection.rb +69 -0
- data/lib/sidekiq/throttled/utils.rb +1 -1
- data/lib/sidekiq/throttled/version.rb +1 -1
- data/lib/sidekiq/throttled/web/stats.rb +2 -6
- data/lib/sidekiq/throttled/web/summary_fix.rb +3 -2
- data/lib/sidekiq/throttled/web/throttled.html.erb +6 -2
- data/lib/sidekiq/throttled/web.rb +1 -1
- data/lib/sidekiq/throttled/worker.rb +2 -2
- data/lib/sidekiq/throttled.rb +14 -2
- data/sidekiq-throttled.gemspec +3 -1
- metadata +21 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6dcc92c4940527e645d6a211b068094aef5c1f1cb103ad07d74b9b42132eb80
|
4
|
+
data.tar.gz: c2a8b341bfc9586a97f5f918b19bcf0e35ec4c93b5e2955802d26e5846cb7351
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d587a45dcf488a6ff722082c3ddf27c52bf19f4575fab922789580f36bae4031fe8f20d6825e0490d253f6f36f52a5c026b78bcd8b72de919fe094130c48c609
|
7
|
+
data.tar.gz: cdf97140a7cc3bc78720f59acd629d54ea4fbca2d5a3b8696cb92695b1b73d7b070dc7074a4278af6562a01987eeee3e7ce57c5405b5d23b0fb54afdd04458d3
|
@@ -0,0 +1,51 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
rspec:
|
11
|
+
name: "rspec (ruby:${{ matrix.ruby }} sidekiq:${{ matrix.sidekiq }})"
|
12
|
+
|
13
|
+
strategy:
|
14
|
+
fail-fast: false
|
15
|
+
matrix:
|
16
|
+
ruby: [ "2.6", "2.7", "3.0" ]
|
17
|
+
sidekiq: [ "5.0", "5.1", "5.2", "6.0", "6.1", "6.2", "6.3" ]
|
18
|
+
|
19
|
+
runs-on: ubuntu-latest
|
20
|
+
|
21
|
+
services:
|
22
|
+
redis:
|
23
|
+
image: redis
|
24
|
+
ports: ["6379:6379"]
|
25
|
+
options: "--entrypoint redis-server"
|
26
|
+
|
27
|
+
env:
|
28
|
+
GEMFILE: gemfiles/sidekiq_${{ matrix.sidekiq }}.gemfile
|
29
|
+
|
30
|
+
steps:
|
31
|
+
- uses: actions/checkout@v2
|
32
|
+
|
33
|
+
- uses: ruby/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: ${{ matrix.ruby }}
|
36
|
+
bundler-cache: true
|
37
|
+
|
38
|
+
- run: bundle exec rspec
|
39
|
+
|
40
|
+
rubocop:
|
41
|
+
runs-on: ubuntu-latest
|
42
|
+
|
43
|
+
steps:
|
44
|
+
- uses: actions/checkout@v2
|
45
|
+
|
46
|
+
- uses: ruby/setup-ruby@v1
|
47
|
+
with:
|
48
|
+
ruby-version: "2.6"
|
49
|
+
bundler-cache: true
|
50
|
+
|
51
|
+
- run: bundle exec rubocop
|
data/.rubocop/layout.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
Layout/ArgumentAlignment:
|
2
|
+
EnforcedStyle: with_fixed_indentation
|
3
|
+
|
4
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
5
|
+
Enabled: true
|
6
|
+
|
7
|
+
Layout/FirstArrayElementIndentation:
|
8
|
+
EnforcedStyle: consistent
|
9
|
+
|
10
|
+
Layout/FirstHashElementIndentation:
|
11
|
+
Enabled: true
|
12
|
+
EnforcedStyle: consistent
|
13
|
+
|
14
|
+
Layout/HashAlignment:
|
15
|
+
Enabled: true
|
16
|
+
EnforcedHashRocketStyle: table
|
17
|
+
EnforcedColonStyle: table
|
18
|
+
|
19
|
+
Layout/SpaceAroundMethodCallOperator:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Layout/MultilineMethodCallIndentation:
|
23
|
+
Enabled: true
|
24
|
+
EnforcedStyle: indented
|
data/.rubocop/lint.yml
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
2
|
+
Enabled: true
|
3
|
+
|
4
|
+
Lint/DeprecatedOpenSSLConstant:
|
5
|
+
Enabled: true
|
6
|
+
|
7
|
+
Lint/DuplicateElsifCondition:
|
8
|
+
Enabled: true
|
9
|
+
|
10
|
+
Lint/DuplicateRescueException:
|
11
|
+
Enabled: true
|
12
|
+
|
13
|
+
Lint/EmptyConditionalBody:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
Lint/FloatComparison:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
Lint/MissingSuper:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Lint/MixedRegexpCaptureTypes:
|
23
|
+
Enabled: true
|
24
|
+
|
25
|
+
Lint/OutOfRangeRegexpRef:
|
26
|
+
Enabled: true
|
27
|
+
|
28
|
+
Lint/RaiseException:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
Lint/SelfAssignment:
|
32
|
+
Enabled: true
|
33
|
+
|
34
|
+
Lint/StructNewOverride:
|
35
|
+
Enabled: true
|
36
|
+
|
37
|
+
Lint/TopLevelReturnWithArgument:
|
38
|
+
Enabled: true
|
39
|
+
|
40
|
+
Lint/UnreachableLoop:
|
41
|
+
Enabled: true
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Performance/AncestorsInclude:
|
2
|
+
Enabled: true
|
3
|
+
|
4
|
+
Performance/BigDecimalWithNumericArgument:
|
5
|
+
Enabled: true
|
6
|
+
|
7
|
+
Performance/RedundantSortBlock:
|
8
|
+
Enabled: true
|
9
|
+
|
10
|
+
Performance/RedundantStringChars:
|
11
|
+
Enabled: true
|
12
|
+
|
13
|
+
Performance/ReverseFirst:
|
14
|
+
Enabled: true
|
15
|
+
|
16
|
+
Performance/SortReverse:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
Performance/Squeeze:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Performance/StringInclude:
|
23
|
+
Enabled: true
|
24
|
+
|
25
|
+
|
data/.rubocop/rspec.yml
ADDED
data/.rubocop/style.yml
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
Style/AccessorGrouping:
|
2
|
+
Enabled: true
|
3
|
+
|
4
|
+
Style/ArrayCoercion:
|
5
|
+
Enabled: true
|
6
|
+
|
7
|
+
Style/BisectedAttrAccessor:
|
8
|
+
Enabled: true
|
9
|
+
|
10
|
+
Style/CaseLikeIf:
|
11
|
+
Enabled: true
|
12
|
+
|
13
|
+
Style/Documentation:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
Style/ExplicitBlockArgument:
|
17
|
+
Enabled: true
|
18
|
+
|
19
|
+
Style/ExponentialNotation:
|
20
|
+
Enabled: true
|
21
|
+
|
22
|
+
Style/GlobalStdStream:
|
23
|
+
Enabled: true
|
24
|
+
|
25
|
+
Style/HashAsLastArrayItem:
|
26
|
+
Enabled: true
|
27
|
+
|
28
|
+
Style/HashEachMethods:
|
29
|
+
Enabled: true
|
30
|
+
|
31
|
+
Style/HashLikeCase:
|
32
|
+
Enabled: true
|
33
|
+
|
34
|
+
Style/HashSyntax:
|
35
|
+
Enabled: true
|
36
|
+
EnforcedStyle: hash_rockets
|
37
|
+
|
38
|
+
Style/HashTransformKeys:
|
39
|
+
Enabled: true
|
40
|
+
|
41
|
+
Style/HashTransformValues:
|
42
|
+
Enabled: true
|
43
|
+
|
44
|
+
Style/OptionalBooleanParameter:
|
45
|
+
Enabled: true
|
46
|
+
|
47
|
+
Style/RedundantAssignment:
|
48
|
+
Enabled: true
|
49
|
+
|
50
|
+
Style/RedundantFetchBlock:
|
51
|
+
Enabled: true
|
52
|
+
|
53
|
+
Style/RedundantFileExtensionInRequire:
|
54
|
+
Enabled: true
|
55
|
+
|
56
|
+
Style/RedundantRegexpCharacterClass:
|
57
|
+
Enabled: true
|
58
|
+
|
59
|
+
Style/RedundantRegexpEscape:
|
60
|
+
Enabled: true
|
61
|
+
|
62
|
+
Style/RegexpLiteral:
|
63
|
+
Enabled: true
|
64
|
+
EnforcedStyle: percent_r
|
65
|
+
|
66
|
+
Style/RescueStandardError:
|
67
|
+
Enabled: true
|
68
|
+
EnforcedStyle: implicit
|
69
|
+
|
70
|
+
Style/SingleArgumentDig:
|
71
|
+
Enabled: true
|
72
|
+
|
73
|
+
Style/SlicingWithRange:
|
74
|
+
Enabled: true
|
75
|
+
|
76
|
+
Style/StringConcatenation:
|
77
|
+
Enabled: true
|
78
|
+
|
79
|
+
Style/StringLiterals:
|
80
|
+
Enabled: true
|
81
|
+
EnforcedStyle: double_quotes
|
82
|
+
|
83
|
+
Style/YodaCondition:
|
84
|
+
Enabled: false
|
data/.rubocop.yml
CHANGED
@@ -1,74 +1,19 @@
|
|
1
|
-
inherit_from:
|
2
|
-
- .rubocop_todo.yml
|
3
|
-
|
4
1
|
require:
|
2
|
+
- rubocop-performance
|
5
3
|
- rubocop-rspec
|
6
4
|
|
7
|
-
|
5
|
+
inherit_from:
|
6
|
+
- .rubocop_todo.yml
|
7
|
+
- .rubocop/layout.yml
|
8
|
+
- .rubocop/lint.yml
|
9
|
+
- .rubocop/metrics.yml
|
10
|
+
- .rubocop/performance.yml
|
11
|
+
- .rubocop/rspec.yml
|
12
|
+
- .rubocop/style.yml
|
8
13
|
|
9
14
|
AllCops:
|
10
|
-
DisplayCopNames: true
|
11
|
-
TargetRubyVersion: 2.4
|
12
|
-
Exclude:
|
13
|
-
- "gemfiles/*"
|
14
|
-
|
15
|
-
## Layout ######################################################################
|
16
|
-
|
17
|
-
Layout/AlignHash:
|
18
|
-
EnforcedHashRocketStyle: table
|
19
|
-
|
20
|
-
Layout/AlignParameters:
|
21
|
-
EnforcedStyle: with_fixed_indentation
|
22
|
-
|
23
|
-
Layout/IndentArray:
|
24
|
-
EnforcedStyle: consistent
|
25
|
-
|
26
|
-
Layout/IndentHash:
|
27
|
-
EnforcedStyle: consistent
|
28
|
-
|
29
|
-
Layout/MultilineMethodCallIndentation:
|
30
|
-
EnforcedStyle: indented
|
31
|
-
|
32
|
-
Layout/SpaceInLambdaLiteral:
|
33
|
-
EnforcedStyle: require_space
|
34
|
-
|
35
|
-
## Metrics #####################################################################
|
36
|
-
|
37
|
-
Metrics/BlockLength:
|
38
15
|
Exclude:
|
39
|
-
-
|
40
|
-
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
Style/BracesAroundHashParameters:
|
45
|
-
Enabled: false
|
46
|
-
|
47
|
-
Style/Documentation:
|
48
|
-
Enabled: false
|
49
|
-
|
50
|
-
Style/HashSyntax:
|
51
|
-
EnforcedStyle: hash_rockets
|
52
|
-
|
53
|
-
# Follow your heart where it makes sense to use lambda or lambda literal.
|
54
|
-
# Enforcing it makes some pieces of code look REALLY terrible, e.g. in
|
55
|
-
# case of empty (noop) lambdas: `lambda { |_| }`.
|
56
|
-
Style/Lambda:
|
57
|
-
Enabled: false
|
58
|
-
|
59
|
-
# Enabling this cop makes Guardfile (which is full of pathname regexps)
|
60
|
-
# look absolutley style-inconsistent and terrible. In any case, this should
|
61
|
-
# be on developer's choice whenever to use `%r` or not. Just like we don't
|
62
|
-
# enforce to use `["foo"]` over `%w(foo)` and so on.
|
63
|
-
Style/RegexpLiteral:
|
64
|
-
Enabled: false
|
65
|
-
|
66
|
-
Style/RescueStandardError:
|
67
|
-
EnforcedStyle: implicit
|
68
|
-
|
69
|
-
Style/StringLiterals:
|
70
|
-
EnforcedStyle: double_quotes
|
71
|
-
|
72
|
-
# I prefer Yoda style instead, but there's no such enforcement style.
|
73
|
-
Style/YodaCondition:
|
74
|
-
Enabled: false
|
16
|
+
- gemfiles/**/*
|
17
|
+
- vendor/**/*
|
18
|
+
NewCops: enable
|
19
|
+
TargetRubyVersion: 2.6
|
data/.rubocop_todo.yml
CHANGED
@@ -1,57 +1,32 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2020-09-14 13:53:26 UTC using RuboCop version 0.90.0.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
# Offense count:
|
10
|
-
# Configuration parameters: CountComments.
|
11
|
-
Metrics/MethodLength:
|
12
|
-
Max: 13
|
13
|
-
|
14
|
-
# Offense count: 25
|
15
|
-
# Configuration parameters: Max.
|
16
|
-
RSpec/ExampleLength:
|
17
|
-
Exclude:
|
18
|
-
- 'spec/sidekiq/throttled/communicator/callbacks_spec.rb'
|
19
|
-
- 'spec/sidekiq/throttled/communicator/listener_spec.rb'
|
20
|
-
- 'spec/sidekiq/throttled/communicator_spec.rb'
|
21
|
-
- 'spec/sidekiq/throttled/fetch_spec.rb'
|
22
|
-
- 'spec/sidekiq/throttled/queues_pauser_spec.rb'
|
23
|
-
- 'spec/sidekiq/throttled/strategy_spec.rb'
|
24
|
-
- 'spec/sidekiq/throttled/web/queues_spec.rb'
|
25
|
-
- 'spec/sidekiq/throttled_spec.rb'
|
26
|
-
|
27
|
-
# Offense count: 62
|
9
|
+
# Offense count: 68
|
28
10
|
# Configuration parameters: .
|
29
11
|
# SupportedStyles: have_received, receive
|
30
12
|
RSpec/MessageSpies:
|
31
13
|
EnforcedStyle: receive
|
32
14
|
|
33
|
-
# Offense count:
|
34
|
-
# Configuration parameters: AggregateFailuresByDefault.
|
15
|
+
# Offense count: 22
|
35
16
|
RSpec/MultipleExpectations:
|
36
17
|
Max: 4
|
37
18
|
|
38
|
-
# Offense count:
|
19
|
+
# Offense count: 7
|
20
|
+
# Configuration parameters: AllowSubject.
|
21
|
+
RSpec/MultipleMemoizedHelpers:
|
22
|
+
Max: 6
|
23
|
+
|
24
|
+
# Offense count: 46
|
39
25
|
RSpec/NestedGroups:
|
40
26
|
Max: 5
|
41
27
|
|
42
|
-
# Offense count:
|
28
|
+
# Offense count: 4
|
43
29
|
RSpec/SubjectStub:
|
44
30
|
Exclude:
|
45
31
|
- 'spec/sidekiq/throttled/communicator_spec.rb'
|
46
32
|
- 'spec/sidekiq/throttled/queues_pauser_spec.rb'
|
47
|
-
|
48
|
-
# Offense count: 1
|
49
|
-
# Configuration parameters: IgnoreSymbolicNames.
|
50
|
-
RSpec/VerifiedDoubles:
|
51
|
-
Exclude:
|
52
|
-
- 'spec/sidekiq/throttled/registry_spec.rb'
|
53
|
-
|
54
|
-
# Offense count: 1
|
55
|
-
Security/MarshalLoad:
|
56
|
-
Exclude:
|
57
|
-
- 'lib/sidekiq/throttled/communicator/listener.rb'
|
data/.travis.yml
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
language: ruby
|
2
|
-
sudo: false
|
3
2
|
|
4
3
|
services:
|
5
4
|
- redis-server
|
@@ -23,6 +22,7 @@ rvm:
|
|
23
22
|
- 2.4
|
24
23
|
- 2.5
|
25
24
|
- 2.6
|
25
|
+
- 2.7
|
26
26
|
|
27
27
|
matrix:
|
28
28
|
fast_finish: true
|
@@ -36,3 +36,4 @@ gemfile:
|
|
36
36
|
- gemfiles/sidekiq_5.0.gemfile
|
37
37
|
- gemfiles/sidekiq_5.1.gemfile
|
38
38
|
- gemfiles/sidekiq_5.2.gemfile
|
39
|
+
- gemfiles/sidekiq_6.0.gemfile
|
data/Appraisals
CHANGED
@@ -11,3 +11,19 @@ end
|
|
11
11
|
appraise "sidekiq-5.2" do
|
12
12
|
gem "sidekiq", "~> 5.2.0"
|
13
13
|
end
|
14
|
+
|
15
|
+
appraise "sidekiq-6.0" do
|
16
|
+
gem "sidekiq", "~> 6.0.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
appraise "sidekiq-6.1" do
|
20
|
+
gem "sidekiq", "~> 6.1.0"
|
21
|
+
end
|
22
|
+
|
23
|
+
appraise "sidekiq-6.2" do
|
24
|
+
gem "sidekiq", "~> 6.2.0"
|
25
|
+
end
|
26
|
+
|
27
|
+
appraise "sidekiq-6.3" do
|
28
|
+
gem "sidekiq", "~> 6.3.0"
|
29
|
+
end
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,46 @@
|
|
1
|
+
## 0.15.0 (2021-12-16)
|
2
|
+
|
3
|
+
* [#102](https://github.com/sensortower/sidekiq-throttled/pull/102)
|
4
|
+
Support Ruby 3.0 and Sidekiq 6.2+.
|
5
|
+
([@ybiquitous])
|
6
|
+
|
7
|
+
* [#97](https://github.com/sensortower/sidekiq-throttled/pull/97)
|
8
|
+
Fix kwargs usage in strategy collection.
|
9
|
+
([@baptistejub])
|
10
|
+
|
11
|
+
## 0.14.0 (2021-09-21)
|
12
|
+
|
13
|
+
* [#98](https://github.com/sensortower/sidekiq-throttled/pull/98)
|
14
|
+
Remove warning for strategy override.
|
15
|
+
([@mattiagiuffrida-st])
|
16
|
+
|
17
|
+
* [#65](https://github.com/sensortower/sidekiq-throttled/pull/65)
|
18
|
+
Support composite (multi-key) strategies.
|
19
|
+
([@holyketzer])
|
20
|
+
|
21
|
+
* [#89](https://github.com/sensortower/sidekiq-throttled/pull/89),
|
22
|
+
[#96](https://github.com/sensortower/sidekiq-throttled/pull/96), and
|
23
|
+
[#93](https://github.com/sensortower/sidekiq-throttled/pull/93)
|
24
|
+
Improve documentation.
|
25
|
+
([@hubertjakubiak], [@khaile], and [@kylerippey])
|
26
|
+
|
27
|
+
## 0.13.0 (2020-07-28)
|
28
|
+
|
29
|
+
* [#85](https://github.com/sensortower/sidekiq-throttled/pull/85)
|
30
|
+
Add Sidekiq 6.1+ support.
|
31
|
+
([@hmaack])
|
32
|
+
|
33
|
+
## 0.12.0 (2020-06-22)
|
34
|
+
|
35
|
+
* [#80](https://github.com/sensortower/sidekiq-throttled/pull/80)
|
36
|
+
Allow override cooldown timeout of queues with throttled jobs.
|
37
|
+
([@vaot])
|
38
|
+
|
39
|
+
* [#76](https://github.com/sensortower/sidekiq-throttled/pull/76)
|
40
|
+
Fix warnings on Ruby 2.7
|
41
|
+
([@lenon])
|
42
|
+
|
43
|
+
|
1
44
|
## 0.11.0 (2019-08-24)
|
2
45
|
|
3
46
|
* [#59](https://github.com/sensortower/sidekiq-throttled/pull/59)
|
@@ -201,3 +244,13 @@
|
|
201
244
|
[@mstruve]: https://github.com/mstruve
|
202
245
|
[@ziaulrehman40]: https://github.com/ziaulrehman40
|
203
246
|
[@ogins57]: https://github.com/ogins57
|
247
|
+
[@lenon]: https://github.com/lenon
|
248
|
+
[@vaot]: https://github.com/vaot
|
249
|
+
[@hmaack]: https://github.com/hmaack
|
250
|
+
[@holyketzer]: https://github.com/holyketzer
|
251
|
+
[@hubertjakubiak]: https://github.com/hubertjakubiak
|
252
|
+
[@kylerippey]: https://github.com/kylerippey
|
253
|
+
[@khaile]: https://github.com/khaile
|
254
|
+
[@mattiagiuffrida-st]: https://github.com/mattiagiuffrida-st
|
255
|
+
[@baptistejub]: https://github.com/baptistejub
|
256
|
+
[@ybiquitous]: https://github.com/ybiquitous
|
data/Gemfile
CHANGED
@@ -5,8 +5,9 @@ source "https://rubygems.org"
|
|
5
5
|
gem "appraisal"
|
6
6
|
gem "rake"
|
7
7
|
gem "rspec"
|
8
|
-
gem "rubocop",
|
9
|
-
gem "rubocop-
|
8
|
+
gem "rubocop", "~> 0.90.0", :require => false
|
9
|
+
gem "rubocop-performance", "~> 1.8.0", :require => false
|
10
|
+
gem "rubocop-rspec", "~> 1.43.2", :require => false
|
10
11
|
gem "sidekiq"
|
11
12
|
|
12
13
|
group :development do
|
@@ -17,13 +18,13 @@ group :development do
|
|
17
18
|
end
|
18
19
|
|
19
20
|
group :test do
|
21
|
+
gem "apparition"
|
20
22
|
gem "capybara"
|
21
23
|
gem "coveralls", :require => false
|
22
|
-
gem "poltergeist"
|
23
24
|
gem "puma"
|
24
25
|
gem "rack-test"
|
25
|
-
gem "simplecov"
|
26
|
-
gem "sinatra"
|
26
|
+
gem "simplecov"
|
27
|
+
gem "sinatra"
|
27
28
|
gem "timecop"
|
28
29
|
end
|
29
30
|
|
data/LICENSE.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c)
|
3
|
+
Copyright (c) 2020-2021 Alexey Zapparov, SensorTower Inc.
|
4
|
+
Copyright (c) 2015-2020 SensorTower Inc.
|
4
5
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|