deimos-ruby 2.2.0.pre.beta5 → 2.2.1

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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +33 -30
  3. data/CHANGELOG.md +8 -0
  4. data/Gemfile +0 -6
  5. data/deimos-ruby.gemspec +15 -10
  6. data/karafka.rb +7 -4
  7. data/lib/deimos/active_record_consume/batch_consumption.rb +7 -7
  8. data/lib/deimos/active_record_consume/batch_record.rb +2 -2
  9. data/lib/deimos/active_record_consume/message_consumption.rb +6 -5
  10. data/lib/deimos/active_record_consume/schema_model_converter.rb +2 -2
  11. data/lib/deimos/active_record_consumer.rb +1 -0
  12. data/lib/deimos/active_record_producer.rb +4 -2
  13. data/lib/deimos/backends/base.rb +1 -3
  14. data/lib/deimos/backends/outbox.rb +1 -1
  15. data/lib/deimos/config/configuration.rb +88 -75
  16. data/lib/deimos/consume/batch_consumption.rb +7 -5
  17. data/lib/deimos/consume/message_consumption.rb +5 -3
  18. data/lib/deimos/ext/consumer_route.rb +3 -3
  19. data/lib/deimos/ext/producer_metrics_listener.rb +2 -2
  20. data/lib/deimos/ext/producer_middleware.rb +19 -15
  21. data/lib/deimos/ext/producer_route.rb +3 -1
  22. data/lib/deimos/ext/routing_defaults.rb +9 -7
  23. data/lib/deimos/ext/schema_route.rb +22 -15
  24. data/lib/deimos/kafka_message.rb +1 -1
  25. data/lib/deimos/kafka_source.rb +36 -31
  26. data/lib/deimos/kafka_topic_info.rb +1 -1
  27. data/lib/deimos/logging.rb +20 -19
  28. data/lib/deimos/message.rb +1 -1
  29. data/lib/deimos/metrics/minimal_datadog_listener.rb +19 -6
  30. data/lib/deimos/metrics/provider.rb +4 -4
  31. data/lib/deimos/producer.rb +3 -1
  32. data/lib/deimos/railtie.rb +1 -1
  33. data/lib/deimos/schema_backends/avro_base.rb +1 -1
  34. data/lib/deimos/schema_backends/avro_schema_coercer.rb +46 -27
  35. data/lib/deimos/schema_backends/avro_schema_registry.rb +8 -8
  36. data/lib/deimos/schema_backends/base.rb +9 -9
  37. data/lib/deimos/schema_backends/mock.rb +4 -0
  38. data/lib/deimos/schema_backends/plain.rb +1 -1
  39. data/lib/deimos/schema_backends/proto_base.rb +7 -5
  40. data/lib/deimos/schema_backends/proto_local.rb +0 -2
  41. data/lib/deimos/schema_backends/proto_schema_registry.rb +0 -2
  42. data/lib/deimos/schema_class/base.rb +1 -1
  43. data/lib/deimos/schema_class/record.rb +3 -3
  44. data/lib/deimos/test_helpers.rb +31 -26
  45. data/lib/deimos/tracing/provider.rb +5 -5
  46. data/lib/deimos/transcoder.rb +6 -2
  47. data/lib/deimos/utils/db_poller/base.rb +3 -3
  48. data/lib/deimos/utils/deadlock_retry.rb +2 -2
  49. data/lib/deimos/utils/outbox_producer.rb +14 -14
  50. data/lib/deimos/version.rb +1 -1
  51. data/lib/deimos.rb +4 -4
  52. data/lib/generators/deimos/active_record_generator.rb +2 -1
  53. data/lib/generators/deimos/db_poller_generator.rb +1 -0
  54. data/lib/generators/deimos/outbox_backend_generator.rb +1 -0
  55. data/lib/generators/deimos/schema_class_generator.rb +3 -2
  56. data/lib/generators/deimos/v2_generator.rb +184 -155
  57. data/spec/active_record_batch_consumer_association_spec.rb +6 -2
  58. data/spec/active_record_batch_consumer_spec.rb +83 -106
  59. data/spec/active_record_consume/batch_consumption_spec.rb +27 -28
  60. data/spec/active_record_consume/batch_slicer_spec.rb +4 -12
  61. data/spec/active_record_consume/mass_updater_spec.rb +42 -46
  62. data/spec/active_record_consume/schema_model_converter_spec.rb +1 -1
  63. data/spec/active_record_consumer_spec.rb +7 -5
  64. data/spec/active_record_producer_spec.rb +83 -73
  65. data/spec/backends/outbox_spec.rb +1 -1
  66. data/spec/batch_consumer_spec.rb +20 -20
  67. data/spec/consumer_spec.rb +23 -12
  68. data/spec/gen/sample/v1/sample_pb.rb +3 -3
  69. data/spec/generators/active_record_generator_spec.rb +5 -5
  70. data/spec/generators/schema_class/my_schema_with_circular_reference_spec.rb +2 -1
  71. data/spec/generators/schema_class/my_schema_with_complex_types_spec.rb +9 -2
  72. data/spec/generators/schema_class_generator_spec.rb +5 -5
  73. data/spec/kafka_source_spec.rb +13 -6
  74. data/spec/kafka_topic_info_spec.rb +7 -7
  75. data/spec/karafka/karafka.rb +6 -5
  76. data/spec/karafka_config/karafka_spec.rb +22 -19
  77. data/spec/logging_spec.rb +2 -0
  78. data/spec/producer_spec.rb +25 -20
  79. data/spec/schema_backends/avro_base_shared.rb +8 -8
  80. data/spec/schema_backends/avro_local_spec.rb +5 -6
  81. data/spec/schema_backends/avro_schema_registry_spec.rb +5 -6
  82. data/spec/schema_backends/proto_schema_registry_spec.rb +9 -12
  83. data/spec/schemas/my_namespace/generated.rb +1 -2
  84. data/spec/schemas/my_namespace/my_schema_with_complex_type.rb +5 -8
  85. data/spec/schemas/my_namespace/my_schema_with_union_type.rb +22 -23
  86. data/spec/spec_helper.rb +13 -17
  87. data/spec/utils/db_poller_spec.rb +5 -5
  88. data/spec/utils/deadlock_retry_spec.rb +1 -4
  89. data/spec/utils/outbox_producer_spec.rb +36 -24
  90. metadata +79 -158
  91. data/.ruby-version +0 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deimos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0.pre.beta5
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
@@ -30,19 +30,19 @@ dependencies:
30
30
  - !ruby/object:Gem::Version
31
31
  version: '2'
32
32
  - !ruby/object:Gem::Dependency
33
- name: karafka
33
+ name: benchmark
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
- version: '2.0'
38
+ version: '0.5'
39
39
  type: :runtime
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
42
42
  requirements:
43
43
  - - "~>"
44
44
  - !ruby/object:Gem::Version
45
- version: '2.0'
45
+ version: '0.5'
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: fig_tree
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -57,6 +57,20 @@ dependencies:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
59
  version: 0.2.0
60
+ - !ruby/object:Gem::Dependency
61
+ name: karafka
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '2.0'
60
74
  - !ruby/object:Gem::Dependency
61
75
  name: sigurd
62
76
  requirement: !ruby/object:Gem::Requirement
@@ -91,20 +105,6 @@ dependencies:
91
105
  - - ">="
92
106
  - !ruby/object:Gem::Version
93
107
  version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: activerecord-trilogy-adapter
96
- requirement: !ruby/object:Gem::Requirement
97
- requirements:
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: '0'
101
- type: :development
102
- prerelease: false
103
- version_requirements: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: '0'
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: avro
110
110
  requirement: !ruby/object:Gem::Requirement
@@ -161,20 +161,6 @@ dependencies:
161
161
  - - ">="
162
162
  - !ruby/object:Gem::Version
163
163
  version: '4.2'
164
- - !ruby/object:Gem::Dependency
165
- name: proto_turf
166
- requirement: !ruby/object:Gem::Requirement
167
- requirements:
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- version: '0'
171
- type: :development
172
- prerelease: false
173
- version_requirements: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - ">="
176
- - !ruby/object:Gem::Version
177
- version: '0'
178
164
  - !ruby/object:Gem::Dependency
179
165
  name: guard
180
166
  requirement: !ruby/object:Gem::Requirement
@@ -232,33 +218,33 @@ dependencies:
232
218
  - !ruby/object:Gem::Version
233
219
  version: '2.0'
234
220
  - !ruby/object:Gem::Dependency
235
- name: trilogy
221
+ name: pg
236
222
  requirement: !ruby/object:Gem::Requirement
237
223
  requirements:
238
- - - ">="
224
+ - - "~>"
239
225
  - !ruby/object:Gem::Version
240
- version: '0.1'
226
+ version: '1.1'
241
227
  type: :development
242
228
  prerelease: false
243
229
  version_requirements: !ruby/object:Gem::Requirement
244
230
  requirements:
245
- - - ">="
231
+ - - "~>"
246
232
  - !ruby/object:Gem::Version
247
- version: '0.1'
233
+ version: '1.1'
248
234
  - !ruby/object:Gem::Dependency
249
- name: pg
235
+ name: proto_turf
250
236
  requirement: !ruby/object:Gem::Requirement
251
237
  requirements:
252
- - - "~>"
238
+ - - ">="
253
239
  - !ruby/object:Gem::Version
254
- version: '1.1'
240
+ version: '0'
255
241
  type: :development
256
242
  prerelease: false
257
243
  version_requirements: !ruby/object:Gem::Requirement
258
244
  requirements:
259
- - - "~>"
245
+ - - ">="
260
246
  - !ruby/object:Gem::Version
261
- version: '1.1'
247
+ version: '0'
262
248
  - !ruby/object:Gem::Dependency
263
249
  name: rails
264
250
  requirement: !ruby/object:Gem::Requirement
@@ -347,30 +333,30 @@ dependencies:
347
333
  name: rubocop
348
334
  requirement: !ruby/object:Gem::Requirement
349
335
  requirements:
350
- - - '='
336
+ - - "~>"
351
337
  - !ruby/object:Gem::Version
352
- version: 0.89.0
338
+ version: '1.0'
353
339
  type: :development
354
340
  prerelease: false
355
341
  version_requirements: !ruby/object:Gem::Requirement
356
342
  requirements:
357
- - - '='
343
+ - - "~>"
358
344
  - !ruby/object:Gem::Version
359
- version: 0.89.0
345
+ version: '1.0'
360
346
  - !ruby/object:Gem::Dependency
361
347
  name: rubocop-rspec
362
348
  requirement: !ruby/object:Gem::Requirement
363
349
  requirements:
364
350
  - - '='
365
351
  - !ruby/object:Gem::Version
366
- version: 1.42.0
352
+ version: '3.8'
367
353
  type: :development
368
354
  prerelease: false
369
355
  version_requirements: !ruby/object:Gem::Requirement
370
356
  requirements:
371
357
  - - '='
372
358
  - !ruby/object:Gem::Version
373
- version: 1.42.0
359
+ version: '3.8'
374
360
  - !ruby/object:Gem::Dependency
375
361
  name: sord
376
362
  requirement: !ruby/object:Gem::Requirement
@@ -413,6 +399,48 @@ dependencies:
413
399
  - - "~>"
414
400
  - !ruby/object:Gem::Version
415
401
  version: '1.0'
402
+ - !ruby/object:Gem::Dependency
403
+ name: trilogy
404
+ requirement: !ruby/object:Gem::Requirement
405
+ requirements:
406
+ - - ">="
407
+ - !ruby/object:Gem::Version
408
+ version: '0.1'
409
+ type: :development
410
+ prerelease: false
411
+ version_requirements: !ruby/object:Gem::Requirement
412
+ requirements:
413
+ - - ">="
414
+ - !ruby/object:Gem::Version
415
+ version: '0.1'
416
+ - !ruby/object:Gem::Dependency
417
+ name: bigdecimal
418
+ requirement: !ruby/object:Gem::Requirement
419
+ requirements:
420
+ - - ">="
421
+ - !ruby/object:Gem::Version
422
+ version: '0'
423
+ type: :development
424
+ prerelease: false
425
+ version_requirements: !ruby/object:Gem::Requirement
426
+ requirements:
427
+ - - ">="
428
+ - !ruby/object:Gem::Version
429
+ version: '0'
430
+ - !ruby/object:Gem::Dependency
431
+ name: mutex_m
432
+ requirement: !ruby/object:Gem::Requirement
433
+ requirements:
434
+ - - ">="
435
+ - !ruby/object:Gem::Version
436
+ version: '0'
437
+ type: :development
438
+ prerelease: false
439
+ version_requirements: !ruby/object:Gem::Requirement
440
+ requirements:
441
+ - - ">="
442
+ - !ruby/object:Gem::Version
443
+ version: '0'
416
444
  email:
417
445
  - daniel.orner@wishabi.com
418
446
  executables:
@@ -428,7 +456,6 @@ files:
428
456
  - ".rspec"
429
457
  - ".rubocop.yml"
430
458
  - ".rubocop_todo.yml"
431
- - ".ruby-version"
432
459
  - ".tool-versions"
433
460
  - CHANGELOG.md
434
461
  - CODE_OF_CONDUCT.md
@@ -655,7 +682,8 @@ files:
655
682
  homepage: ''
656
683
  licenses:
657
684
  - Apache-2.0
658
- metadata: {}
685
+ metadata:
686
+ rubygems_mfa_required: 'true'
659
687
  rdoc_options: []
660
688
  require_paths:
661
689
  - lib
@@ -673,111 +701,4 @@ requirements: []
673
701
  rubygems_version: 3.6.9
674
702
  specification_version: 4
675
703
  summary: Kafka libraries for Ruby.
676
- test_files:
677
- - spec/active_record_batch_consumer_association_spec.rb
678
- - spec/active_record_batch_consumer_spec.rb
679
- - spec/active_record_consume/batch_consumption_spec.rb
680
- - spec/active_record_consume/batch_slicer_spec.rb
681
- - spec/active_record_consume/mass_updater_spec.rb
682
- - spec/active_record_consume/schema_model_converter_spec.rb
683
- - spec/active_record_consumer_spec.rb
684
- - spec/active_record_producer_spec.rb
685
- - spec/backends/base_spec.rb
686
- - spec/backends/kafka_async_spec.rb
687
- - spec/backends/kafka_spec.rb
688
- - spec/backends/outbox_spec.rb
689
- - spec/batch_consumer_spec.rb
690
- - spec/consumer_spec.rb
691
- - spec/deimos_spec.rb
692
- - spec/gen/sample/v1/sample_pb.rb
693
- - spec/generators/active_record_generator_spec.rb
694
- - spec/generators/schema_class/my_schema_spec.rb
695
- - spec/generators/schema_class/my_schema_with_circular_reference_spec.rb
696
- - spec/generators/schema_class/my_schema_with_complex_types_spec.rb
697
- - spec/generators/schema_class_generator_spec.rb
698
- - spec/handlers/my_batch_consumer.rb
699
- - spec/handlers/my_consumer.rb
700
- - spec/kafka_source_spec.rb
701
- - spec/kafka_topic_info_spec.rb
702
- - spec/karafka/karafka.rb
703
- - spec/karafka_config/karafka_spec.rb
704
- - spec/logging_spec.rb
705
- - spec/message_spec.rb
706
- - spec/producer_spec.rb
707
- - spec/protos/sample/v1/sample.proto
708
- - spec/rake_spec.rb
709
- - spec/schema_backends/avro_base_shared.rb
710
- - spec/schema_backends/avro_local_spec.rb
711
- - spec/schema_backends/avro_schema_registry_spec.rb
712
- - spec/schema_backends/avro_validation_spec.rb
713
- - spec/schema_backends/base_spec.rb
714
- - spec/schema_backends/proto_schema_registry_spec.rb
715
- - spec/schemas/com/my-namespace/Generated.avsc
716
- - spec/schemas/com/my-namespace/MyNestedSchema.avsc
717
- - spec/schemas/com/my-namespace/MySchema.avsc
718
- - spec/schemas/com/my-namespace/MySchemaCompound_key.avsc
719
- - spec/schemas/com/my-namespace/MySchemaId_key.avsc
720
- - spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
721
- - spec/schemas/com/my-namespace/MySchemaWithCircularReference.avsc
722
- - spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
723
- - spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
724
- - spec/schemas/com/my-namespace/MySchemaWithId.avsc
725
- - spec/schemas/com/my-namespace/MySchemaWithTitle.avsc
726
- - spec/schemas/com/my-namespace/MySchemaWithUnionType.avsc
727
- - spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
728
- - spec/schemas/com/my-namespace/MySchema_key.avsc
729
- - spec/schemas/com/my-namespace/Wibble.avsc
730
- - spec/schemas/com/my-namespace/Widget.avsc
731
- - spec/schemas/com/my-namespace/WidgetTheSecond.avsc
732
- - spec/schemas/com/my-namespace/WidgetTheThird.avsc
733
- - spec/schemas/com/my-namespace/my-suborg/MyLongNamespaceSchema.avsc
734
- - spec/schemas/com/my-namespace/request/CreateTopic.avsc
735
- - spec/schemas/com/my-namespace/request/Index.avsc
736
- - spec/schemas/com/my-namespace/request/UpdateRequest.avsc
737
- - spec/schemas/com/my-namespace/response/CreateTopic.avsc
738
- - spec/schemas/com/my-namespace/response/Index.avsc
739
- - spec/schemas/com/my-namespace/response/UpdateResponse.avsc
740
- - spec/schemas/my_namespace/generated.rb
741
- - spec/schemas/my_namespace/my_long_namespace_schema.rb
742
- - spec/schemas/my_namespace/my_nested_schema.rb
743
- - spec/schemas/my_namespace/my_schema.rb
744
- - spec/schemas/my_namespace/my_schema_compound_key.rb
745
- - spec/schemas/my_namespace/my_schema_id_key.rb
746
- - spec/schemas/my_namespace/my_schema_key.rb
747
- - spec/schemas/my_namespace/my_schema_with_boolean.rb
748
- - spec/schemas/my_namespace/my_schema_with_circular_reference.rb
749
- - spec/schemas/my_namespace/my_schema_with_complex_type.rb
750
- - spec/schemas/my_namespace/my_schema_with_date_time.rb
751
- - spec/schemas/my_namespace/my_schema_with_id.rb
752
- - spec/schemas/my_namespace/my_schema_with_title.rb
753
- - spec/schemas/my_namespace/my_schema_with_union_type.rb
754
- - spec/schemas/my_namespace/my_schema_with_unique_id.rb
755
- - spec/schemas/my_namespace/my_updated_schema.rb
756
- - spec/schemas/my_namespace/request/create_topic.rb
757
- - spec/schemas/my_namespace/request/index.rb
758
- - spec/schemas/my_namespace/request/update_request.rb
759
- - spec/schemas/my_namespace/response/create_topic.rb
760
- - spec/schemas/my_namespace/response/index.rb
761
- - spec/schemas/my_namespace/response/update_response.rb
762
- - spec/schemas/my_namespace/wibble.rb
763
- - spec/schemas/my_namespace/widget.rb
764
- - spec/schemas/my_namespace/widget_the_second.rb
765
- - spec/schemas/my_namespace/widget_the_third.rb
766
- - spec/snapshots/consumers-no-nest.snap
767
- - spec/snapshots/consumers.snap
768
- - spec/snapshots/consumers_and_producers-no-nest.snap
769
- - spec/snapshots/consumers_and_producers.snap
770
- - spec/snapshots/consumers_circular-no-nest.snap
771
- - spec/snapshots/consumers_circular.snap
772
- - spec/snapshots/consumers_complex_types-no-nest.snap
773
- - spec/snapshots/consumers_complex_types.snap
774
- - spec/snapshots/consumers_nested-no-nest.snap
775
- - spec/snapshots/consumers_nested.snap
776
- - spec/snapshots/namespace_folders.snap
777
- - spec/snapshots/namespace_map.snap
778
- - spec/snapshots/producers_with_key-no-nest.snap
779
- - spec/snapshots/producers_with_key.snap
780
- - spec/spec_helper.rb
781
- - spec/utils/db_poller_spec.rb
782
- - spec/utils/deadlock_retry_spec.rb
783
- - spec/utils/outbox_producer_spec.rb
704
+ test_files: []
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 3.2.2