deimos-ruby 1.6.4 → 1.8.1.pre.beta2

Sign up to get free protection for your applications and to get access to all the features.
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