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.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +9 -0
  3. data/.rubocop.yml +22 -16
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +42 -0
  6. data/Gemfile.lock +125 -98
  7. data/README.md +164 -16
  8. data/Rakefile +1 -1
  9. data/deimos-ruby.gemspec +4 -3
  10. data/docs/ARCHITECTURE.md +144 -0
  11. data/docs/CONFIGURATION.md +27 -0
  12. data/lib/deimos.rb +8 -7
  13. data/lib/deimos/active_record_consume/batch_consumption.rb +159 -0
  14. data/lib/deimos/active_record_consume/batch_slicer.rb +27 -0
  15. data/lib/deimos/active_record_consume/message_consumption.rb +58 -0
  16. data/lib/deimos/active_record_consume/schema_model_converter.rb +52 -0
  17. data/lib/deimos/active_record_consumer.rb +33 -75
  18. data/lib/deimos/active_record_producer.rb +23 -0
  19. data/lib/deimos/batch_consumer.rb +2 -140
  20. data/lib/deimos/config/configuration.rb +28 -10
  21. data/lib/deimos/consume/batch_consumption.rb +150 -0
  22. data/lib/deimos/consume/message_consumption.rb +94 -0
  23. data/lib/deimos/consumer.rb +79 -70
  24. data/lib/deimos/kafka_message.rb +1 -1
  25. data/lib/deimos/kafka_topic_info.rb +22 -3
  26. data/lib/deimos/message.rb +6 -1
  27. data/lib/deimos/metrics/provider.rb +0 -2
  28. data/lib/deimos/poll_info.rb +9 -0
  29. data/lib/deimos/schema_backends/avro_base.rb +28 -1
  30. data/lib/deimos/schema_backends/base.rb +15 -2
  31. data/lib/deimos/tracing/provider.rb +0 -2
  32. data/lib/deimos/utils/db_poller.rb +149 -0
  33. data/lib/deimos/utils/db_producer.rb +59 -16
  34. data/lib/deimos/utils/deadlock_retry.rb +68 -0
  35. data/lib/deimos/utils/lag_reporter.rb +19 -26
  36. data/lib/deimos/version.rb +1 -1
  37. data/lib/generators/deimos/active_record/templates/migration.rb.tt +28 -0
  38. data/lib/generators/deimos/active_record/templates/model.rb.tt +5 -0
  39. data/lib/generators/deimos/active_record_generator.rb +79 -0
  40. data/lib/generators/deimos/db_backend/templates/migration +1 -0
  41. data/lib/generators/deimos/db_backend/templates/rails3_migration +1 -0
  42. data/lib/generators/deimos/db_poller/templates/migration +11 -0
  43. data/lib/generators/deimos/db_poller/templates/rails3_migration +16 -0
  44. data/lib/generators/deimos/db_poller_generator.rb +48 -0
  45. data/lib/tasks/deimos.rake +7 -0
  46. data/spec/active_record_batch_consumer_spec.rb +481 -0
  47. data/spec/active_record_consume/batch_slicer_spec.rb +42 -0
  48. data/spec/active_record_consume/schema_model_converter_spec.rb +105 -0
  49. data/spec/active_record_consumer_spec.rb +3 -11
  50. data/spec/active_record_producer_spec.rb +66 -88
  51. data/spec/batch_consumer_spec.rb +24 -7
  52. data/spec/config/configuration_spec.rb +4 -0
  53. data/spec/consumer_spec.rb +8 -8
  54. data/spec/deimos_spec.rb +57 -49
  55. data/spec/generators/active_record_generator_spec.rb +56 -0
  56. data/spec/handlers/my_batch_consumer.rb +6 -1
  57. data/spec/handlers/my_consumer.rb +6 -1
  58. data/spec/kafka_topic_info_spec.rb +39 -16
  59. data/spec/message_spec.rb +19 -0
  60. data/spec/producer_spec.rb +3 -3
  61. data/spec/rake_spec.rb +1 -1
  62. data/spec/schemas/com/my-namespace/Generated.avsc +71 -0
  63. data/spec/schemas/com/my-namespace/MySchemaCompound-key.avsc +18 -0
  64. data/spec/schemas/com/my-namespace/Wibble.avsc +43 -0
  65. data/spec/spec_helper.rb +62 -6
  66. data/spec/utils/db_poller_spec.rb +320 -0
  67. data/spec/utils/db_producer_spec.rb +84 -10
  68. data/spec/utils/deadlock_retry_spec.rb +74 -0
  69. data/spec/utils/lag_reporter_spec.rb +29 -22
  70. metadata +66 -30
  71. data/lib/deimos/base_consumer.rb +0 -104
  72. data/lib/deimos/utils/executor.rb +0 -124
  73. data/lib/deimos/utils/platform_schema_validation.rb +0 -0
  74. data/lib/deimos/utils/signal_handler.rb +0 -68
  75. data/spec/utils/executor_spec.rb +0 -53
  76. data/spec/utils/signal_handler_spec.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5867eea57702a40d8e07589dc1f260e772ae6491d306c8f9829ab3841915c280
4
- data.tar.gz: 75610a9efa79b1a94d0ce31da751aea4fdc58a49b0fd8f4b86286b80c1dd7a90
3
+ metadata.gz: 335328a0ca5fb9147405485a66944ebe0d05af552ec09ec9605d76a7e7da7e9a
4
+ data.tar.gz: 438a9a91bda52be144d63867a4ae42dd1901cc7472f61232044aa934efebb464
5
5
  SHA512:
6
- metadata.gz: 738b20ca02d57e34ac171994f15ebbb905f93e0846297e476cfe06af13857c074f6420bbe84cb6d7840d96d7dc82adc6ab15298cb6bf35a4c29ed9ee6f594bc6
7
- data.tar.gz: 4c75fd4f60273b7c3e838e7325b11cf5891970adcebe0b28b23d6777261d4c33954240ecbb5b522840c5cde2549bb452505de19f9142c5efdf77170a6f8ced3b
6
+ metadata.gz: 3e01c5c9db93cb6e0f56dafa2f1b301c30b9cc11c397ca35f77b80cfe62bd9600eacb8774516ee1c81337193687944a8c7bec3cba400df6ea8b1c33af7e82c27
7
+ data.tar.gz: 9de8cea35db671c43123d096653a6423ccfcaad8a2b8e9478f787e879bd7fd50a626604b8626f79b5f8654c84130fded58385d6f75fe44e59e1bfb5a284e1096
@@ -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
@@ -1,10 +1,12 @@
1
1
  require: rubocop-rspec
2
2
 
3
3
  AllCops:
4
- TargetRubyVersion: 2.3
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: 20
81
+ Max: 25
74
82
 
75
83
  Metrics/BlockLength:
76
- Severity: refactor
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: 30
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
 
@@ -1 +1 @@
1
- 2.5.1
1
+ 2.5.3
@@ -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.
@@ -1,83 +1,99 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- deimos-ruby (1.6.2)
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 (5.2.4.2)
13
- actionpack (= 5.2.4.2)
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
- actionmailer (5.2.4.2)
17
- actionpack (= 5.2.4.2)
18
- actionview (= 5.2.4.2)
19
- activejob (= 5.2.4.2)
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 (5.2.4.2)
23
- actionview (= 5.2.4.2)
24
- activesupport (= 5.2.4.2)
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.2)
29
- actionview (5.2.4.2)
30
- activesupport (= 5.2.4.2)
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.0, >= 1.0.3)
35
- activejob (5.2.4.2)
36
- activesupport (= 5.2.4.2)
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 (5.2.4.2)
39
- activesupport (= 5.2.4.2)
40
- activerecord (5.2.4.2)
41
- activemodel (= 5.2.4.2)
42
- activesupport (= 5.2.4.2)
43
- arel (>= 9.0)
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 (5.2.4.2)
47
- actionpack (= 5.2.4.2)
48
- activerecord (= 5.2.4.2)
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 (5.2.4.2)
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
- arel (9.0.0)
56
- ast (2.4.0)
57
- avro (1.9.1)
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.2)
64
- concurrent-ruby (1.1.5)
65
- concurrent-ruby-ext (1.1.5)
66
- concurrent-ruby (= 1.1.5)
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
- ddtrace (0.30.0)
82
+ database_cleaner (1.8.5)
83
+ ddtrace (0.37.0)
69
84
  msgpack
70
- diff-lcs (1.3)
71
- digest-crc (0.5.1)
72
- dogstatsd-ruby (4.5.0)
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.73.0)
90
+ excon (0.75.0)
75
91
  exponential-backoff (0.0.4)
76
- ffi (1.11.3)
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.1)
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.2)
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.2.2)
119
+ logging (2.3.0)
105
120
  little-plugger (~> 1.1)
106
- multi_json (~> 1.10)
107
- loofah (2.5.0)
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.0.13)
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.9.2)
116
- mimemagic (0.3.4)
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.0)
120
- msgpack (1.3.1)
121
- multi_json (1.14.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.9)
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.1)
131
- parser (2.6.5.0)
132
- ast (~> 2.4.0)
133
- pg (1.1.4)
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.12.2)
143
- coderay (~> 1.1.0)
144
- method_source (~> 0.9.0)
145
- rack (2.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 (5.2.4.2)
149
- actioncable (= 5.2.4.2)
150
- actionmailer (= 5.2.4.2)
151
- actionpack (= 5.2.4.2)
152
- actionview (= 5.2.4.2)
153
- activejob (= 5.2.4.2)
154
- activemodel (= 5.2.4.2)
155
- activerecord (= 5.2.4.2)
156
- activestorage (= 5.2.4.2)
157
- activesupport (= 5.2.4.2)
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 (= 5.2.4.2)
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 (5.2.4.2)
167
- actionpack (= 5.2.4.2)
168
- activesupport (= 5.2.4.2)
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.19.0, < 2.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.3)
175
- rb-inotify (0.10.0)
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.0)
182
- rspec-support (~> 3.9.0)
183
- rspec-expectations (3.9.0)
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.0)
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.0)
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.77.0)
193
- jaro_winkler (~> 1.5.1)
211
+ rubocop (0.88.0)
194
212
  parallel (~> 1.10)
195
- parser (>= 2.6)
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, < 1.7)
199
- rubocop-rspec (1.37.1)
200
- rubocop (>= 0.68.1)
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
- sprockets (4.0.0)
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.1)
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.6.0)
218
- websocket-driver (0.7.1)
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.4)
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 (~> 5.2)
253
+ activerecord (~> 6)
227
254
  activerecord-import
228
255
  avro (~> 1.9)
229
- bundler (~> 1)
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 (~> 5.2, >= 5.2.4.2)
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.17.3
274
+ 2.1.4