deimos-ruby 1.6.4 → 1.8.1.pre.beta2

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 (82) 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 +45 -0
  6. data/Gemfile.lock +133 -98
  7. data/README.md +217 -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 +9 -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 -142
  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 -72
  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 +33 -1
  30. data/lib/deimos/schema_backends/base.rb +21 -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/utils/schema_controller_mixin.rb +111 -0
  37. data/lib/deimos/version.rb +1 -1
  38. data/lib/generators/deimos/active_record/templates/migration.rb.tt +28 -0
  39. data/lib/generators/deimos/active_record/templates/model.rb.tt +5 -0
  40. data/lib/generators/deimos/active_record_generator.rb +79 -0
  41. data/lib/generators/deimos/db_backend/templates/migration +1 -0
  42. data/lib/generators/deimos/db_backend/templates/rails3_migration +1 -0
  43. data/lib/generators/deimos/db_poller/templates/migration +11 -0
  44. data/lib/generators/deimos/db_poller/templates/rails3_migration +16 -0
  45. data/lib/generators/deimos/db_poller_generator.rb +48 -0
  46. data/lib/tasks/deimos.rake +7 -0
  47. data/spec/active_record_batch_consumer_spec.rb +481 -0
  48. data/spec/active_record_consume/batch_slicer_spec.rb +42 -0
  49. data/spec/active_record_consume/schema_model_converter_spec.rb +105 -0
  50. data/spec/active_record_consumer_spec.rb +3 -11
  51. data/spec/active_record_producer_spec.rb +66 -88
  52. data/spec/batch_consumer_spec.rb +24 -7
  53. data/spec/config/configuration_spec.rb +4 -0
  54. data/spec/consumer_spec.rb +8 -8
  55. data/spec/deimos_spec.rb +57 -49
  56. data/spec/generators/active_record_generator_spec.rb +56 -0
  57. data/spec/handlers/my_batch_consumer.rb +6 -1
  58. data/spec/handlers/my_consumer.rb +6 -1
  59. data/spec/kafka_topic_info_spec.rb +39 -16
  60. data/spec/message_spec.rb +19 -0
  61. data/spec/producer_spec.rb +3 -3
  62. data/spec/rake_spec.rb +1 -1
  63. data/spec/schemas/com/my-namespace/Generated.avsc +71 -0
  64. data/spec/schemas/com/my-namespace/MySchemaCompound-key.avsc +18 -0
  65. data/spec/schemas/com/my-namespace/Wibble.avsc +43 -0
  66. data/spec/schemas/com/my-namespace/request/Index.avsc +11 -0
  67. data/spec/schemas/com/my-namespace/request/UpdateRequest.avsc +11 -0
  68. data/spec/schemas/com/my-namespace/response/Index.avsc +11 -0
  69. data/spec/schemas/com/my-namespace/response/UpdateResponse.avsc +11 -0
  70. data/spec/spec_helper.rb +68 -6
  71. data/spec/utils/db_poller_spec.rb +320 -0
  72. data/spec/utils/db_producer_spec.rb +84 -10
  73. data/spec/utils/deadlock_retry_spec.rb +74 -0
  74. data/spec/utils/lag_reporter_spec.rb +29 -22
  75. data/spec/utils/schema_controller_mixin_spec.rb +68 -0
  76. metadata +81 -34
  77. data/lib/deimos/base_consumer.rb +0 -100
  78. data/lib/deimos/utils/executor.rb +0 -124
  79. data/lib/deimos/utils/platform_schema_validation.rb +0 -0
  80. data/lib/deimos/utils/signal_handler.rb +0 -68
  81. data/spec/utils/executor_spec.rb +0 -53
  82. data/spec/utils/signal_handler_spec.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a015ca37d59e16b4356d9f51e376a4a98a051fdf42d5331ab9f61c6bd6014da6
4
- data.tar.gz: 7f38827e24bca8ea50159b4810d7eb08dec6ffd29feb488c4f9e43516b55a369
3
+ metadata.gz: e6f44746ef34713f973b24f4cf80954915545edec5e0f006e4d1a6c751478afa
4
+ data.tar.gz: 17adb23fdc3e735cf8eab51f4c1df2bbcf1140c9a5696c0f8e17dc38bd728ba9
5
5
  SHA512:
6
- metadata.gz: '08a2f52f66816717d388be2a888979d4a55d0bb77af21c0f5e23ec5717449630ff8552fc060efb58cd7f999c5c5957de38d7fdb024f1a7e3076f8a44f6687430'
7
- data.tar.gz: fb6112cec7a2e072332960b5d546b1b90ee92376dc73e348b3cf3ed459a4a9814857d19ee59799b0011bef2f08dbc7f89bc6178cd55ed268cd67c45dabd2afe1
6
+ metadata.gz: d920dc6b7b2020364a7095ab61a986a3bb16c5fac5367227ed8cbded422399e78887fc91ecce81d9857c66bce5739f6423335e835ca87612a1a2306c50cd93b0
7
+ data.tar.gz: 78fd60871b0852b03e91e2223afbe5ac419dc929d6de6340799f8376f89efffd2775e4d93025ab8089cac5a7579d00bc33c64c3f9ec50cc3fb603f6381e3d82a
@@ -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,51 @@ 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-beta2 - 2020-07-28
11
+
12
+ ### Features :star:
13
+ - Add `SchemaControllerMixin` to encode and decode schema-encoded
14
+ payloads in Rails controllers.
15
+
16
+ ## 1.8.1-beta1 - 2020-07-22
17
+
18
+ ### Fixes :wrench:
19
+ - Retry deleting messages without resending the batch if the
20
+ delete fails (fixes [#34](https://github.com/flipp-oss/deimos/issues/34))
21
+ - Delete messages in batches rather than all at once to
22
+ cut down on the chance of a deadlock.
23
+
24
+ ### Features :star:
25
+ - Add `last_processed_at` to `kafka_topic_info` to ensure
26
+ that wait metrics are accurate in cases where records
27
+ get created with an old `created_at` time (e.g. for
28
+ long-running transactions).
29
+ - Add generator for ActiveRecord models and migrations (fixes [#6](https://github.com/flipp-oss/deimos/issues/6))
30
+
31
+ ## 1.8.0-beta2 - 2020-07-08
32
+
33
+ ### Fixes :wrench:
34
+ - Fix crash with batch consumption due to not having ActiveSupport::Concern
35
+
36
+ ### Features :star:
37
+ - Add `first_offset` to the metadata sent via the batch
38
+
39
+ ## 1.8.0-beta1 - 2020-07-06
40
+ ### Features :star:
41
+ - Added `ActiveRecordConsumer` batch mode
42
+
43
+ ### Fixes :wrench:
44
+ - Lag calculation can be incorrect if no messages are being consumed.
45
+ - Fixed bug where printing messages on a MessageSizeTooLarge
46
+ error didn't work.
47
+
48
+ ### Roadmap
49
+ - Moved SignalHandler and Executor to the `sigurd` gem.
50
+
51
+ ## 1.7.0-beta1 - 2020-05-12
52
+ ### Features :star:
53
+ - Added the DB Poller feature / process.
54
+
10
55
  ## 1.6.4 - 2020-05-11
11
56
  - Fixed the payload logging fix for errored messages as well.
12
57
 
@@ -1,83 +1,99 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- deimos-ruby (1.6.4)
4
+ deimos-ruby (1.8.1.pre.beta2)
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.76.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,113 @@ 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-rails (4.0.1)
209
+ actionpack (>= 4.2)
210
+ activesupport (>= 4.2)
211
+ railties (>= 4.2)
212
+ rspec-core (~> 3.9)
213
+ rspec-expectations (~> 3.9)
214
+ rspec-mocks (~> 3.9)
215
+ rspec-support (~> 3.9)
216
+ rspec-support (3.9.3)
190
217
  rspec_junit_formatter (0.4.1)
191
218
  rspec-core (>= 2, < 4, != 2.12.0)
192
- rubocop (0.77.0)
193
- jaro_winkler (~> 1.5.1)
219
+ rubocop (0.88.0)
194
220
  parallel (~> 1.10)
195
- parser (>= 2.6)
221
+ parser (>= 2.7.1.1)
196
222
  rainbow (>= 2.2.2, < 4.0)
223
+ regexp_parser (>= 1.7)
224
+ rexml
225
+ rubocop-ast (>= 0.1.0, < 1.0)
197
226
  ruby-progressbar (~> 1.7)
198
- unicode-display_width (>= 1.4.0, < 1.7)
199
- rubocop-rspec (1.37.1)
200
- rubocop (>= 0.68.1)
227
+ unicode-display_width (>= 1.4.0, < 2.0)
228
+ rubocop-ast (0.2.0)
229
+ parser (>= 2.7.0.1)
230
+ rubocop-rspec (1.42.0)
231
+ rubocop (>= 0.87.0)
201
232
  ruby-kafka (0.7.10)
202
233
  digest-crc
203
234
  ruby-progressbar (1.10.1)
204
235
  shellany (0.0.1)
205
- sprockets (4.0.0)
236
+ sigurd (0.0.1)
237
+ concurrent-ruby (~> 1)
238
+ exponential-backoff
239
+ sprockets (4.0.2)
206
240
  concurrent-ruby (~> 1.0)
207
241
  rack (> 1, < 3)
208
242
  sprockets-rails (3.2.1)
209
243
  actionpack (>= 4.0)
210
244
  activesupport (>= 4.0)
211
245
  sprockets (>= 3.0.0)
212
- sqlite3 (1.4.1)
246
+ sqlite3 (1.4.2)
213
247
  thor (1.0.1)
214
248
  thread_safe (0.3.6)
215
249
  tzinfo (1.2.7)
216
250
  thread_safe (~> 0.1)
217
- unicode-display_width (1.6.0)
218
- websocket-driver (0.7.1)
251
+ unicode-display_width (1.7.0)
252
+ websocket-driver (0.7.3)
219
253
  websocket-extensions (>= 0.1.0)
220
- websocket-extensions (0.1.4)
254
+ websocket-extensions (0.1.5)
255
+ zeitwerk (2.4.0)
221
256
 
222
257
  PLATFORMS
223
258
  ruby
224
259
 
225
260
  DEPENDENCIES
226
- activerecord (~> 5.2)
227
261
  activerecord-import
228
262
  avro (~> 1.9)
229
- bundler (~> 1)
263
+ database_cleaner (~> 1.7)
230
264
  ddtrace (~> 0.11)
231
265
  deimos-ruby!
232
266
  dogstatsd-ruby (~> 4.2)
@@ -235,13 +269,14 @@ DEPENDENCIES
235
269
  guard-rubocop (~> 1)
236
270
  mysql2 (~> 0.5)
237
271
  pg (~> 1.1)
238
- rails (~> 5.2, >= 5.2.4.2)
272
+ rails (~> 6)
239
273
  rake (~> 13)
240
274
  rspec (~> 3)
275
+ rspec-rails (~> 4)
241
276
  rspec_junit_formatter (~> 0.3)
242
277
  rubocop (~> 0.72)
243
278
  rubocop-rspec (~> 1.27)
244
279
  sqlite3 (~> 1.3)
245
280
 
246
281
  BUNDLED WITH
247
- 1.17.3
282
+ 2.1.4