deimos-ruby 1.6.3 → 1.8.1.pre.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +9 -0
- data/.rubocop.yml +22 -16
- data/.ruby-version +1 -1
- data/CHANGELOG.md +42 -0
- data/Gemfile.lock +125 -98
- data/README.md +164 -16
- data/Rakefile +1 -1
- data/deimos-ruby.gemspec +4 -3
- data/docs/ARCHITECTURE.md +144 -0
- data/docs/CONFIGURATION.md +27 -0
- data/lib/deimos.rb +8 -7
- data/lib/deimos/active_record_consume/batch_consumption.rb +159 -0
- data/lib/deimos/active_record_consume/batch_slicer.rb +27 -0
- data/lib/deimos/active_record_consume/message_consumption.rb +58 -0
- data/lib/deimos/active_record_consume/schema_model_converter.rb +52 -0
- data/lib/deimos/active_record_consumer.rb +33 -75
- data/lib/deimos/active_record_producer.rb +23 -0
- data/lib/deimos/batch_consumer.rb +2 -140
- data/lib/deimos/config/configuration.rb +28 -10
- data/lib/deimos/consume/batch_consumption.rb +150 -0
- data/lib/deimos/consume/message_consumption.rb +94 -0
- data/lib/deimos/consumer.rb +79 -70
- data/lib/deimos/kafka_message.rb +1 -1
- data/lib/deimos/kafka_topic_info.rb +22 -3
- data/lib/deimos/message.rb +6 -1
- data/lib/deimos/metrics/provider.rb +0 -2
- data/lib/deimos/poll_info.rb +9 -0
- data/lib/deimos/schema_backends/avro_base.rb +28 -1
- data/lib/deimos/schema_backends/base.rb +15 -2
- data/lib/deimos/tracing/provider.rb +0 -2
- data/lib/deimos/utils/db_poller.rb +149 -0
- data/lib/deimos/utils/db_producer.rb +59 -16
- data/lib/deimos/utils/deadlock_retry.rb +68 -0
- data/lib/deimos/utils/lag_reporter.rb +19 -26
- data/lib/deimos/version.rb +1 -1
- data/lib/generators/deimos/active_record/templates/migration.rb.tt +28 -0
- data/lib/generators/deimos/active_record/templates/model.rb.tt +5 -0
- data/lib/generators/deimos/active_record_generator.rb +79 -0
- data/lib/generators/deimos/db_backend/templates/migration +1 -0
- data/lib/generators/deimos/db_backend/templates/rails3_migration +1 -0
- data/lib/generators/deimos/db_poller/templates/migration +11 -0
- data/lib/generators/deimos/db_poller/templates/rails3_migration +16 -0
- data/lib/generators/deimos/db_poller_generator.rb +48 -0
- data/lib/tasks/deimos.rake +7 -0
- data/spec/active_record_batch_consumer_spec.rb +481 -0
- data/spec/active_record_consume/batch_slicer_spec.rb +42 -0
- data/spec/active_record_consume/schema_model_converter_spec.rb +105 -0
- data/spec/active_record_consumer_spec.rb +3 -11
- data/spec/active_record_producer_spec.rb +66 -88
- data/spec/batch_consumer_spec.rb +24 -7
- data/spec/config/configuration_spec.rb +4 -0
- data/spec/consumer_spec.rb +8 -8
- data/spec/deimos_spec.rb +57 -49
- data/spec/generators/active_record_generator_spec.rb +56 -0
- data/spec/handlers/my_batch_consumer.rb +6 -1
- data/spec/handlers/my_consumer.rb +6 -1
- data/spec/kafka_topic_info_spec.rb +39 -16
- data/spec/message_spec.rb +19 -0
- data/spec/producer_spec.rb +3 -3
- data/spec/rake_spec.rb +1 -1
- data/spec/schemas/com/my-namespace/Generated.avsc +71 -0
- data/spec/schemas/com/my-namespace/MySchemaCompound-key.avsc +18 -0
- data/spec/schemas/com/my-namespace/Wibble.avsc +43 -0
- data/spec/spec_helper.rb +62 -6
- data/spec/utils/db_poller_spec.rb +320 -0
- data/spec/utils/db_producer_spec.rb +84 -10
- data/spec/utils/deadlock_retry_spec.rb +74 -0
- data/spec/utils/lag_reporter_spec.rb +29 -22
- metadata +66 -30
- data/lib/deimos/base_consumer.rb +0 -104
- data/lib/deimos/utils/executor.rb +0 -124
- data/lib/deimos/utils/platform_schema_validation.rb +0 -0
- data/lib/deimos/utils/signal_handler.rb +0 -68
- data/spec/utils/executor_spec.rb +0 -53
- data/spec/utils/signal_handler_spec.rb +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 335328a0ca5fb9147405485a66944ebe0d05af552ec09ec9605d76a7e7da7e9a
|
4
|
+
data.tar.gz: 438a9a91bda52be144d63867a4ae42dd1901cc7472f61232044aa934efebb464
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e01c5c9db93cb6e0f56dafa2f1b301c30b9cc11c397ca35f77b80cfe62bd9600eacb8774516ee1c81337193687944a8c7bec3cba400df6ea8b1c33af7e82c27
|
7
|
+
data.tar.gz: 9de8cea35db671c43123d096653a6423ccfcaad8a2b8e9478f787e879bd7fd50a626604b8626f79b5f8654c84130fded58385d6f75fe44e59e1bfb5a284e1096
|
data/.circleci/config.yml
CHANGED
@@ -20,6 +20,9 @@ jobs:
|
|
20
20
|
# Bundle install dependencies in /tmp/
|
21
21
|
# so Dockerfile does not copy them since
|
22
22
|
# its base image is different than CircleCI
|
23
|
+
- run:
|
24
|
+
name: Install bundler
|
25
|
+
command: gem install bundler:2.1.4
|
23
26
|
- run:
|
24
27
|
name: Bundle install
|
25
28
|
command: bundle install --path vendor/bundle --jobs=4 --retry=3
|
@@ -40,6 +43,9 @@ jobs:
|
|
40
43
|
steps:
|
41
44
|
- attach_workspace:
|
42
45
|
at: ~/workspace
|
46
|
+
- run:
|
47
|
+
name: Install bundler
|
48
|
+
command: gem install bundler:2.1.4
|
43
49
|
- run:
|
44
50
|
name: Point bundle to vendor/bundle
|
45
51
|
command: bundle --path vendor/bundle
|
@@ -50,6 +56,9 @@ jobs:
|
|
50
56
|
steps:
|
51
57
|
- attach_workspace:
|
52
58
|
at: ~/workspace
|
59
|
+
- run:
|
60
|
+
name: Install bundler
|
61
|
+
command: gem install bundler:2.1.4
|
53
62
|
- run:
|
54
63
|
name: Point bundle to vendor/bundle
|
55
64
|
command: bundle --path vendor/bundle
|
data/.rubocop.yml
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require: rubocop-rspec
|
2
2
|
|
3
3
|
AllCops:
|
4
|
-
TargetRubyVersion: 2.
|
4
|
+
TargetRubyVersion: 2.4
|
5
5
|
Exclude:
|
6
6
|
- lib/deimos/monkey_patches/*.rb
|
7
7
|
- vendor/**/*
|
8
|
+
- Guardfile
|
9
|
+
NewCops: enable
|
8
10
|
|
9
11
|
# class Plumbus
|
10
12
|
# private
|
@@ -34,6 +36,12 @@ Layout/DotPosition:
|
|
34
36
|
Layout/EmptyLinesAroundBlockBody:
|
35
37
|
Enabled: false
|
36
38
|
|
39
|
+
Layout/LineLength:
|
40
|
+
Max: 120
|
41
|
+
Severity: refactor
|
42
|
+
Exclude:
|
43
|
+
- 'spec/**/*'
|
44
|
+
|
37
45
|
# foo = if expression
|
38
46
|
# 'bar'
|
39
47
|
# end
|
@@ -70,30 +78,26 @@ Lint/UnusedMethodArgument:
|
|
70
78
|
|
71
79
|
Metrics/AbcSize:
|
72
80
|
Severity: refactor
|
73
|
-
Max:
|
81
|
+
Max: 25
|
74
82
|
|
75
83
|
Metrics/BlockLength:
|
76
|
-
|
84
|
+
Enabled: false
|
77
85
|
|
78
86
|
Metrics/ClassLength:
|
79
87
|
Severity: refactor
|
88
|
+
Max: 500
|
80
89
|
|
81
90
|
Metrics/CyclomaticComplexity:
|
82
91
|
Severity: refactor
|
83
92
|
Max: 20
|
84
93
|
|
85
|
-
Metrics/LineLength:
|
86
|
-
Max: 100
|
87
|
-
Severity: refactor
|
88
|
-
Exclude:
|
89
|
-
- 'spec/**/*'
|
90
|
-
|
91
94
|
Metrics/MethodLength:
|
92
95
|
Severity: refactor
|
93
|
-
Max:
|
96
|
+
Max: 50
|
94
97
|
|
95
98
|
Metrics/ModuleLength:
|
96
99
|
Severity: refactor
|
100
|
+
Max: 200
|
97
101
|
|
98
102
|
Metrics/ParameterLists:
|
99
103
|
Max: 5
|
@@ -101,6 +105,7 @@ Metrics/ParameterLists:
|
|
101
105
|
|
102
106
|
Metrics/PerceivedComplexity:
|
103
107
|
Severity: refactor
|
108
|
+
Max: 10
|
104
109
|
|
105
110
|
# Use alias_method instead of alias
|
106
111
|
Style/Alias:
|
@@ -123,12 +128,6 @@ Style/BlockDelimiters:
|
|
123
128
|
# some_method(x, y, {a: 1, b: 2})
|
124
129
|
# some_method(x, y, {a: 1, b: 2}, a: 1, b: 2)
|
125
130
|
|
126
|
-
# good
|
127
|
-
# some_method(x, y, a: 1, b: 2)
|
128
|
-
# some_method(x, y, {a: 1, b: 2}, {a: 1, b: 2})
|
129
|
-
Style/BracesAroundHashParameters:
|
130
|
-
EnforcedStyle: context_dependent
|
131
|
-
|
132
131
|
# Enable both this:
|
133
132
|
# MyModule::MyClass
|
134
133
|
# and this:
|
@@ -179,6 +178,13 @@ Style/GuardClause:
|
|
179
178
|
Style/HashSyntax:
|
180
179
|
EnforcedStyle: ruby19_no_mixed_keys
|
181
180
|
|
181
|
+
# We are still unofficially targeting Ruby 2.3
|
182
|
+
Style/HashTransformKeys:
|
183
|
+
Enabled: false
|
184
|
+
|
185
|
+
Style/HashTransformValues:
|
186
|
+
Enabled: false
|
187
|
+
|
182
188
|
Style/IfUnlessModifier:
|
183
189
|
Enabled: false
|
184
190
|
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.5.
|
1
|
+
2.5.3
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## UNRELEASED
|
9
9
|
|
10
|
+
## 1.8.1-beta1 - 2020-07-22
|
11
|
+
|
12
|
+
### Fixes :wrench:
|
13
|
+
- Retry deleting messages without resending the batch if the
|
14
|
+
delete fails (fixes [#34](https://github.com/flipp-oss/deimos/issues/34))
|
15
|
+
- Delete messages in batches rather than all at once to
|
16
|
+
cut down on the chance of a deadlock.
|
17
|
+
|
18
|
+
### Features :star:
|
19
|
+
- Add `last_processed_at` to `kafka_topic_info` to ensure
|
20
|
+
that wait metrics are accurate in cases where records
|
21
|
+
get created with an old `created_at` time (e.g. for
|
22
|
+
long-running transactions).
|
23
|
+
- Add generator for ActiveRecord models and migrations (fixes [#6](https://github.com/flipp-oss/deimos/issues/6))
|
24
|
+
|
25
|
+
## 1.8.0-beta2 - 2020-07-08
|
26
|
+
|
27
|
+
### Fixes :wrench:
|
28
|
+
- Fix crash with batch consumption due to not having ActiveSupport::Concern
|
29
|
+
|
30
|
+
### Features :star:
|
31
|
+
- Add `first_offset` to the metadata sent via the batch
|
32
|
+
|
33
|
+
## 1.8.0-beta1 - 2020-07-06
|
34
|
+
### Features :star:
|
35
|
+
- Added `ActiveRecordConsumer` batch mode
|
36
|
+
|
37
|
+
### Fixes :wrench:
|
38
|
+
- Lag calculation can be incorrect if no messages are being consumed.
|
39
|
+
- Fixed bug where printing messages on a MessageSizeTooLarge
|
40
|
+
error didn't work.
|
41
|
+
|
42
|
+
### Roadmap
|
43
|
+
- Moved SignalHandler and Executor to the `sigurd` gem.
|
44
|
+
|
45
|
+
## 1.7.0-beta1 - 2020-05-12
|
46
|
+
### Features :star:
|
47
|
+
- Added the DB Poller feature / process.
|
48
|
+
|
49
|
+
## 1.6.4 - 2020-05-11
|
50
|
+
- Fixed the payload logging fix for errored messages as well.
|
51
|
+
|
10
52
|
## 1.6.3 - 2020-05-04
|
11
53
|
### Fixes :wrench:
|
12
54
|
- Fixed the payload logging fix.
|
data/Gemfile.lock
CHANGED
@@ -1,83 +1,99 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
deimos-ruby (1.
|
4
|
+
deimos-ruby (1.8.1.pre.beta1)
|
5
5
|
avro_turf (~> 0.11)
|
6
6
|
phobos (~> 1.9)
|
7
7
|
ruby-kafka (~> 0.7)
|
8
|
+
sigurd (= 0.0.1)
|
8
9
|
|
9
10
|
GEM
|
10
11
|
remote: https://rubygems.org/
|
11
12
|
specs:
|
12
|
-
actioncable (
|
13
|
-
actionpack (=
|
13
|
+
actioncable (6.0.3.2)
|
14
|
+
actionpack (= 6.0.3.2)
|
14
15
|
nio4r (~> 2.0)
|
15
16
|
websocket-driver (>= 0.6.1)
|
16
|
-
|
17
|
-
actionpack (=
|
18
|
-
|
19
|
-
|
17
|
+
actionmailbox (6.0.3.2)
|
18
|
+
actionpack (= 6.0.3.2)
|
19
|
+
activejob (= 6.0.3.2)
|
20
|
+
activerecord (= 6.0.3.2)
|
21
|
+
activestorage (= 6.0.3.2)
|
22
|
+
activesupport (= 6.0.3.2)
|
23
|
+
mail (>= 2.7.1)
|
24
|
+
actionmailer (6.0.3.2)
|
25
|
+
actionpack (= 6.0.3.2)
|
26
|
+
actionview (= 6.0.3.2)
|
27
|
+
activejob (= 6.0.3.2)
|
20
28
|
mail (~> 2.5, >= 2.5.4)
|
21
29
|
rails-dom-testing (~> 2.0)
|
22
|
-
actionpack (
|
23
|
-
actionview (=
|
24
|
-
activesupport (=
|
30
|
+
actionpack (6.0.3.2)
|
31
|
+
actionview (= 6.0.3.2)
|
32
|
+
activesupport (= 6.0.3.2)
|
25
33
|
rack (~> 2.0, >= 2.0.8)
|
26
34
|
rack-test (>= 0.6.3)
|
27
35
|
rails-dom-testing (~> 2.0)
|
28
|
-
rails-html-sanitizer (~> 1.0, >= 1.0
|
29
|
-
|
30
|
-
|
36
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
37
|
+
actiontext (6.0.3.2)
|
38
|
+
actionpack (= 6.0.3.2)
|
39
|
+
activerecord (= 6.0.3.2)
|
40
|
+
activestorage (= 6.0.3.2)
|
41
|
+
activesupport (= 6.0.3.2)
|
42
|
+
nokogiri (>= 1.8.5)
|
43
|
+
actionview (6.0.3.2)
|
44
|
+
activesupport (= 6.0.3.2)
|
31
45
|
builder (~> 3.1)
|
32
46
|
erubi (~> 1.4)
|
33
47
|
rails-dom-testing (~> 2.0)
|
34
|
-
rails-html-sanitizer (~> 1.
|
35
|
-
activejob (
|
36
|
-
activesupport (=
|
48
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
49
|
+
activejob (6.0.3.2)
|
50
|
+
activesupport (= 6.0.3.2)
|
37
51
|
globalid (>= 0.3.6)
|
38
|
-
activemodel (
|
39
|
-
activesupport (=
|
40
|
-
activerecord (
|
41
|
-
activemodel (=
|
42
|
-
activesupport (=
|
43
|
-
|
44
|
-
activerecord-import (1.0.3)
|
52
|
+
activemodel (6.0.3.2)
|
53
|
+
activesupport (= 6.0.3.2)
|
54
|
+
activerecord (6.0.3.2)
|
55
|
+
activemodel (= 6.0.3.2)
|
56
|
+
activesupport (= 6.0.3.2)
|
57
|
+
activerecord-import (1.0.5)
|
45
58
|
activerecord (>= 3.2)
|
46
|
-
activestorage (
|
47
|
-
actionpack (=
|
48
|
-
|
59
|
+
activestorage (6.0.3.2)
|
60
|
+
actionpack (= 6.0.3.2)
|
61
|
+
activejob (= 6.0.3.2)
|
62
|
+
activerecord (= 6.0.3.2)
|
49
63
|
marcel (~> 0.3.1)
|
50
|
-
activesupport (
|
64
|
+
activesupport (6.0.3.2)
|
51
65
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
52
66
|
i18n (>= 0.7, < 2)
|
53
67
|
minitest (~> 5.1)
|
54
68
|
tzinfo (~> 1.1)
|
55
|
-
|
56
|
-
ast (2.4.
|
57
|
-
avro (1.9.
|
69
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
70
|
+
ast (2.4.1)
|
71
|
+
avro (1.9.2)
|
58
72
|
multi_json
|
59
73
|
avro_turf (0.11.0)
|
60
74
|
avro (>= 1.7.7, < 1.10)
|
61
75
|
excon (~> 0.45)
|
62
76
|
builder (3.2.4)
|
63
|
-
coderay (1.1.
|
64
|
-
concurrent-ruby (1.1.
|
65
|
-
concurrent-ruby-ext (1.1.
|
66
|
-
concurrent-ruby (= 1.1.
|
77
|
+
coderay (1.1.3)
|
78
|
+
concurrent-ruby (1.1.6)
|
79
|
+
concurrent-ruby-ext (1.1.6)
|
80
|
+
concurrent-ruby (= 1.1.6)
|
67
81
|
crass (1.0.6)
|
68
|
-
|
82
|
+
database_cleaner (1.8.5)
|
83
|
+
ddtrace (0.37.0)
|
69
84
|
msgpack
|
70
|
-
diff-lcs (1.
|
71
|
-
digest-crc (0.
|
72
|
-
|
85
|
+
diff-lcs (1.4.4)
|
86
|
+
digest-crc (0.6.1)
|
87
|
+
rake (~> 13.0)
|
88
|
+
dogstatsd-ruby (4.8.1)
|
73
89
|
erubi (1.9.0)
|
74
|
-
excon (0.
|
90
|
+
excon (0.75.0)
|
75
91
|
exponential-backoff (0.0.4)
|
76
|
-
ffi (1.
|
92
|
+
ffi (1.13.1)
|
77
93
|
formatador (0.2.5)
|
78
94
|
globalid (0.4.2)
|
79
95
|
activesupport (>= 4.2.0)
|
80
|
-
guard (2.16.
|
96
|
+
guard (2.16.2)
|
81
97
|
formatador (>= 0.2.4)
|
82
98
|
listen (>= 2.7, < 4.0)
|
83
99
|
lumberjack (>= 1.0.12, < 2.0)
|
@@ -94,43 +110,42 @@ GEM
|
|
94
110
|
guard-rubocop (1.3.0)
|
95
111
|
guard (~> 2.0)
|
96
112
|
rubocop (~> 0.20)
|
97
|
-
i18n (1.8.
|
113
|
+
i18n (1.8.4)
|
98
114
|
concurrent-ruby (~> 1.0)
|
99
|
-
jaro_winkler (1.5.4)
|
100
115
|
listen (3.2.1)
|
101
116
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
102
117
|
rb-inotify (~> 0.9, >= 0.9.10)
|
103
118
|
little-plugger (1.1.4)
|
104
|
-
logging (2.
|
119
|
+
logging (2.3.0)
|
105
120
|
little-plugger (~> 1.1)
|
106
|
-
multi_json (~> 1.
|
107
|
-
loofah (2.
|
121
|
+
multi_json (~> 1.14)
|
122
|
+
loofah (2.6.0)
|
108
123
|
crass (~> 1.0.2)
|
109
124
|
nokogiri (>= 1.5.9)
|
110
|
-
lumberjack (1.
|
125
|
+
lumberjack (1.2.6)
|
111
126
|
mail (2.7.1)
|
112
127
|
mini_mime (>= 0.1.1)
|
113
128
|
marcel (0.3.3)
|
114
129
|
mimemagic (~> 0.3.2)
|
115
|
-
method_source (0.
|
116
|
-
mimemagic (0.3.
|
130
|
+
method_source (1.0.0)
|
131
|
+
mimemagic (0.3.5)
|
117
132
|
mini_mime (1.0.2)
|
118
133
|
mini_portile2 (2.4.0)
|
119
|
-
minitest (5.14.
|
120
|
-
msgpack (1.3.
|
121
|
-
multi_json (1.
|
134
|
+
minitest (5.14.1)
|
135
|
+
msgpack (1.3.3)
|
136
|
+
multi_json (1.15.0)
|
122
137
|
mysql2 (0.5.3)
|
123
138
|
nenv (0.3.0)
|
124
139
|
nio4r (2.5.2)
|
125
|
-
nokogiri (1.10.
|
140
|
+
nokogiri (1.10.10)
|
126
141
|
mini_portile2 (~> 2.4.0)
|
127
142
|
notiffany (0.1.3)
|
128
143
|
nenv (~> 0.1)
|
129
144
|
shellany (~> 0.0)
|
130
|
-
parallel (1.19.
|
131
|
-
parser (2.
|
132
|
-
ast (~> 2.4.
|
133
|
-
pg (1.
|
145
|
+
parallel (1.19.2)
|
146
|
+
parser (2.7.1.4)
|
147
|
+
ast (~> 2.4.1)
|
148
|
+
pg (1.2.3)
|
134
149
|
phobos (1.9.0)
|
135
150
|
activesupport (>= 3.0.0)
|
136
151
|
concurrent-ruby (>= 1.0.2)
|
@@ -139,94 +154,106 @@ GEM
|
|
139
154
|
logging
|
140
155
|
ruby-kafka
|
141
156
|
thor
|
142
|
-
pry (0.
|
143
|
-
coderay (~> 1.1
|
144
|
-
method_source (~>
|
145
|
-
rack (2.2.
|
157
|
+
pry (0.13.1)
|
158
|
+
coderay (~> 1.1)
|
159
|
+
method_source (~> 1.0)
|
160
|
+
rack (2.2.3)
|
146
161
|
rack-test (1.1.0)
|
147
162
|
rack (>= 1.0, < 3)
|
148
|
-
rails (
|
149
|
-
actioncable (=
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
163
|
+
rails (6.0.3.2)
|
164
|
+
actioncable (= 6.0.3.2)
|
165
|
+
actionmailbox (= 6.0.3.2)
|
166
|
+
actionmailer (= 6.0.3.2)
|
167
|
+
actionpack (= 6.0.3.2)
|
168
|
+
actiontext (= 6.0.3.2)
|
169
|
+
actionview (= 6.0.3.2)
|
170
|
+
activejob (= 6.0.3.2)
|
171
|
+
activemodel (= 6.0.3.2)
|
172
|
+
activerecord (= 6.0.3.2)
|
173
|
+
activestorage (= 6.0.3.2)
|
174
|
+
activesupport (= 6.0.3.2)
|
158
175
|
bundler (>= 1.3.0)
|
159
|
-
railties (=
|
176
|
+
railties (= 6.0.3.2)
|
160
177
|
sprockets-rails (>= 2.0.0)
|
161
178
|
rails-dom-testing (2.0.3)
|
162
179
|
activesupport (>= 4.2.0)
|
163
180
|
nokogiri (>= 1.6)
|
164
181
|
rails-html-sanitizer (1.3.0)
|
165
182
|
loofah (~> 2.3)
|
166
|
-
railties (
|
167
|
-
actionpack (=
|
168
|
-
activesupport (=
|
183
|
+
railties (6.0.3.2)
|
184
|
+
actionpack (= 6.0.3.2)
|
185
|
+
activesupport (= 6.0.3.2)
|
169
186
|
method_source
|
170
187
|
rake (>= 0.8.7)
|
171
|
-
thor (>= 0.
|
188
|
+
thor (>= 0.20.3, < 2.0)
|
172
189
|
rainbow (3.0.0)
|
173
190
|
rake (13.0.1)
|
174
|
-
rb-fsevent (0.10.
|
175
|
-
rb-inotify (0.10.
|
191
|
+
rb-fsevent (0.10.4)
|
192
|
+
rb-inotify (0.10.1)
|
176
193
|
ffi (~> 1.0)
|
194
|
+
regexp_parser (1.7.1)
|
195
|
+
rexml (3.2.4)
|
177
196
|
rspec (3.9.0)
|
178
197
|
rspec-core (~> 3.9.0)
|
179
198
|
rspec-expectations (~> 3.9.0)
|
180
199
|
rspec-mocks (~> 3.9.0)
|
181
|
-
rspec-core (3.9.
|
182
|
-
rspec-support (~> 3.9.
|
183
|
-
rspec-expectations (3.9.
|
200
|
+
rspec-core (3.9.2)
|
201
|
+
rspec-support (~> 3.9.3)
|
202
|
+
rspec-expectations (3.9.2)
|
184
203
|
diff-lcs (>= 1.2.0, < 2.0)
|
185
204
|
rspec-support (~> 3.9.0)
|
186
|
-
rspec-mocks (3.9.
|
205
|
+
rspec-mocks (3.9.1)
|
187
206
|
diff-lcs (>= 1.2.0, < 2.0)
|
188
207
|
rspec-support (~> 3.9.0)
|
189
|
-
rspec-support (3.9.
|
208
|
+
rspec-support (3.9.3)
|
190
209
|
rspec_junit_formatter (0.4.1)
|
191
210
|
rspec-core (>= 2, < 4, != 2.12.0)
|
192
|
-
rubocop (0.
|
193
|
-
jaro_winkler (~> 1.5.1)
|
211
|
+
rubocop (0.88.0)
|
194
212
|
parallel (~> 1.10)
|
195
|
-
parser (>= 2.
|
213
|
+
parser (>= 2.7.1.1)
|
196
214
|
rainbow (>= 2.2.2, < 4.0)
|
215
|
+
regexp_parser (>= 1.7)
|
216
|
+
rexml
|
217
|
+
rubocop-ast (>= 0.1.0, < 1.0)
|
197
218
|
ruby-progressbar (~> 1.7)
|
198
|
-
unicode-display_width (>= 1.4.0, <
|
199
|
-
rubocop-
|
200
|
-
|
219
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
220
|
+
rubocop-ast (0.2.0)
|
221
|
+
parser (>= 2.7.0.1)
|
222
|
+
rubocop-rspec (1.42.0)
|
223
|
+
rubocop (>= 0.87.0)
|
201
224
|
ruby-kafka (0.7.10)
|
202
225
|
digest-crc
|
203
226
|
ruby-progressbar (1.10.1)
|
204
227
|
shellany (0.0.1)
|
205
|
-
|
228
|
+
sigurd (0.0.1)
|
229
|
+
concurrent-ruby (~> 1)
|
230
|
+
exponential-backoff
|
231
|
+
sprockets (4.0.2)
|
206
232
|
concurrent-ruby (~> 1.0)
|
207
233
|
rack (> 1, < 3)
|
208
234
|
sprockets-rails (3.2.1)
|
209
235
|
actionpack (>= 4.0)
|
210
236
|
activesupport (>= 4.0)
|
211
237
|
sprockets (>= 3.0.0)
|
212
|
-
sqlite3 (1.4.
|
238
|
+
sqlite3 (1.4.2)
|
213
239
|
thor (1.0.1)
|
214
240
|
thread_safe (0.3.6)
|
215
241
|
tzinfo (1.2.7)
|
216
242
|
thread_safe (~> 0.1)
|
217
|
-
unicode-display_width (1.
|
218
|
-
websocket-driver (0.7.
|
243
|
+
unicode-display_width (1.7.0)
|
244
|
+
websocket-driver (0.7.3)
|
219
245
|
websocket-extensions (>= 0.1.0)
|
220
|
-
websocket-extensions (0.1.
|
246
|
+
websocket-extensions (0.1.5)
|
247
|
+
zeitwerk (2.4.0)
|
221
248
|
|
222
249
|
PLATFORMS
|
223
250
|
ruby
|
224
251
|
|
225
252
|
DEPENDENCIES
|
226
|
-
activerecord (~>
|
253
|
+
activerecord (~> 6)
|
227
254
|
activerecord-import
|
228
255
|
avro (~> 1.9)
|
229
|
-
|
256
|
+
database_cleaner (~> 1.7)
|
230
257
|
ddtrace (~> 0.11)
|
231
258
|
deimos-ruby!
|
232
259
|
dogstatsd-ruby (~> 4.2)
|
@@ -235,7 +262,7 @@ DEPENDENCIES
|
|
235
262
|
guard-rubocop (~> 1)
|
236
263
|
mysql2 (~> 0.5)
|
237
264
|
pg (~> 1.1)
|
238
|
-
rails (~>
|
265
|
+
rails (~> 6)
|
239
266
|
rake (~> 13)
|
240
267
|
rspec (~> 3)
|
241
268
|
rspec_junit_formatter (~> 0.3)
|
@@ -244,4 +271,4 @@ DEPENDENCIES
|
|
244
271
|
sqlite3 (~> 1.3)
|
245
272
|
|
246
273
|
BUNDLED WITH
|
247
|
-
1.
|
274
|
+
2.1.4
|