deimos-ruby 1.15.1 → 1.16.2

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +15 -0
  4. data/lib/deimos/active_record_producer.rb +8 -1
  5. data/lib/deimos/consumer.rb +3 -1
  6. data/lib/deimos/schema_class/base.rb +2 -25
  7. data/lib/deimos/schema_class/enum.rb +23 -0
  8. data/lib/deimos/schema_class/record.rb +15 -4
  9. data/lib/deimos/test_helpers.rb +3 -2
  10. data/lib/deimos/tracing/datadog.rb +11 -0
  11. data/lib/deimos/tracing/mock.rb +10 -0
  12. data/lib/deimos/tracing/provider.rb +13 -0
  13. data/lib/deimos/utils/schema_class.rb +16 -2
  14. data/lib/deimos/utils/schema_controller_mixin.rb +7 -1
  15. data/lib/deimos/version.rb +1 -1
  16. data/lib/generators/deimos/schema_class/templates/schema_enum.rb.tt +0 -11
  17. data/lib/generators/deimos/schema_class/templates/schema_record.rb.tt +2 -2
  18. data/lib/generators/deimos/schema_class_generator.rb +6 -10
  19. data/spec/active_record_producer_spec.rb +24 -0
  20. data/spec/batch_consumer_spec.rb +13 -10
  21. data/spec/generators/schema_class/my_schema_with_circular_reference_spec.rb +19 -19
  22. data/spec/generators/schema_class/my_schema_with_complex_types_spec.rb +2 -2
  23. data/spec/schemas/generated.rb +5 -5
  24. data/spec/schemas/my_nested_schema.rb +4 -4
  25. data/spec/schemas/my_schema.rb +2 -2
  26. data/spec/schemas/my_schema_key.rb +1 -1
  27. data/spec/schemas/my_schema_with_circular_reference.rb +3 -3
  28. data/spec/schemas/my_schema_with_complex_type.rb +11 -22
  29. data/spec/snapshots/consumers-no-nest.snap +34 -67
  30. data/spec/snapshots/consumers.snap +35 -79
  31. data/spec/snapshots/consumers_and_producers-no-nest.snap +35 -68
  32. data/spec/snapshots/consumers_and_producers.snap +36 -80
  33. data/spec/snapshots/consumers_circular-no-nest.snap +34 -67
  34. data/spec/snapshots/consumers_circular.snap +35 -79
  35. data/spec/snapshots/consumers_complex_types-no-nest.snap +34 -67
  36. data/spec/snapshots/consumers_complex_types.snap +35 -79
  37. data/spec/snapshots/consumers_nested-no-nest.snap +34 -67
  38. data/spec/snapshots/consumers_nested.snap +35 -79
  39. data/spec/snapshots/namespace_folders.snap +53 -97
  40. data/spec/snapshots/producers_with_key-no-nest.snap +35 -68
  41. data/spec/snapshots/producers_with_key.snap +36 -80
  42. metadata +2 -2
@@ -28,7 +28,7 @@ module Schemas
28
28
  end
29
29
 
30
30
  # @override
31
- def to_h
31
+ def as_json(_opts={})
32
32
  {
33
33
  'response_id' => @response_id
34
34
  }
@@ -71,7 +71,7 @@ module Schemas
71
71
  end
72
72
 
73
73
  # @override
74
- def to_h
74
+ def as_json(_opts={})
75
75
  {
76
76
  'a_record_field' => @a_record_field
77
77
  }
@@ -83,21 +83,10 @@ module Schemas
83
83
  # @return ['sym1', 'sym2']
84
84
  attr_accessor :an_enum
85
85
 
86
- # :nodoc:
87
- def initialize(an_enum)
88
- super
89
- self.an_enum = an_enum
90
- end
91
-
92
86
  # @override
93
87
  def symbols
94
88
  %w(sym1 sym2)
95
89
  end
96
-
97
- # @override
98
- def to_h
99
- @an_enum
100
- end
101
90
  end
102
91
 
103
92
 
@@ -179,7 +168,7 @@ module Schemas
179
168
  end
180
169
 
181
170
  # @override
182
- def to_h
171
+ def as_json(_opts={})
183
172
  {
184
173
  'a_string' => @a_string,
185
174
  'a_int' => @a_int,
@@ -187,12 +176,12 @@ module Schemas
187
176
  'a_float' => @a_float,
188
177
  'a_double' => @a_double,
189
178
  'an_optional_int' => @an_optional_int,
190
- 'an_enum' => @an_enum&.to_h,
179
+ 'an_enum' => @an_enum&.as_json,
191
180
  'an_array' => @an_array,
192
181
  'a_map' => @a_map,
193
182
  'timestamp' => @timestamp,
194
183
  'message_id' => @message_id,
195
- 'a_record' => @a_record&.to_h
184
+ 'a_record' => @a_record&.as_json
196
185
  }
197
186
  end
198
187
  end
@@ -229,7 +218,7 @@ module Schemas
229
218
  end
230
219
 
231
220
  # @override
232
- def to_h
221
+ def as_json(_opts={})
233
222
  {
234
223
  'response_id' => @response_id
235
224
  }
@@ -284,7 +273,7 @@ module Schemas
284
273
  end
285
274
 
286
275
  # @override
287
- def to_h
276
+ def as_json(_opts={})
288
277
  {
289
278
  'some_int' => @some_int,
290
279
  'some_float' => @some_float,
@@ -345,13 +334,13 @@ module Schemas
345
334
  end
346
335
 
347
336
  # @override
348
- def to_h
337
+ def as_json(_opts={})
349
338
  {
350
339
  'test_id' => @test_id,
351
340
  'test_float' => @test_float,
352
341
  'test_array' => @test_array,
353
- 'some_nested_record' => @some_nested_record&.to_h,
354
- 'some_optional_record' => @some_optional_record&.to_h
342
+ 'some_nested_record' => @some_nested_record&.as_json,
343
+ 'some_optional_record' => @some_optional_record&.as_json
355
344
  }
356
345
  end
357
346
  end
@@ -392,7 +381,7 @@ module Schemas
392
381
  end
393
382
 
394
383
  # @override
395
- def to_h
384
+ def as_json(_opts={})
396
385
  {
397
386
  'test_id' => @test_id,
398
387
  'some_int' => @some_int
@@ -436,7 +425,7 @@ module Schemas
436
425
  end
437
426
 
438
427
  # @override
439
- def to_h
428
+ def as_json(_opts={})
440
429
  {
441
430
  'part_one' => @part_one,
442
431
  'part_two' => @part_two
@@ -476,7 +465,7 @@ module Schemas
476
465
  end
477
466
 
478
467
  # @override
479
- def to_h
468
+ def as_json(_opts={})
480
469
  {
481
470
  'id' => @id
482
471
  }
@@ -515,7 +504,7 @@ module Schemas
515
504
  end
516
505
 
517
506
  # @override
518
- def to_h
507
+ def as_json(_opts={})
519
508
  {
520
509
  'test_id' => @test_id
521
510
  }
@@ -558,7 +547,7 @@ module Schemas
558
547
  end
559
548
 
560
549
  # @override
561
- def to_h
550
+ def as_json(_opts={})
562
551
  {
563
552
  'test_id' => @test_id,
564
553
  'some_bool' => @some_bool
@@ -602,7 +591,7 @@ module Schemas
602
591
  end
603
592
 
604
593
  # @override
605
- def to_h
594
+ def as_json(_opts={})
606
595
  {
607
596
  'property' => @property
608
597
  }
@@ -639,9 +628,9 @@ module Schemas
639
628
  end
640
629
 
641
630
  # @override
642
- def to_h
631
+ def as_json(_opts={})
643
632
  {
644
- 'properties' => @properties.transform_values { |v| v&.to_h }
633
+ 'properties' => @properties.transform_values { |v| v&.as_json }
645
634
  }
646
635
  end
647
636
  end
@@ -682,7 +671,7 @@ module Schemas
682
671
  end
683
672
 
684
673
  # @override
685
- def to_h
674
+ def as_json(_opts={})
686
675
  {
687
676
  'a_record_field' => @a_record_field
688
677
  }
@@ -694,21 +683,10 @@ module Schemas
694
683
  # @return ['sym1', 'sym2']
695
684
  attr_accessor :an_enum
696
685
 
697
- # :nodoc:
698
- def initialize(an_enum)
699
- super
700
- self.an_enum = an_enum
701
- end
702
-
703
686
  # @override
704
687
  def symbols
705
688
  %w(sym1 sym2)
706
689
  end
707
-
708
- # @override
709
- def to_h
710
- @an_enum
711
- end
712
690
  end
713
691
 
714
692
  # Autogenerated Schema for Enum at com.my-namespace.AnotherEnum
@@ -716,21 +694,10 @@ module Schemas
716
694
  # @return ['sym3', 'sym4']
717
695
  attr_accessor :another_enum
718
696
 
719
- # :nodoc:
720
- def initialize(another_enum)
721
- super
722
- self.another_enum = another_enum
723
- end
724
-
725
697
  # @override
726
698
  def symbols
727
699
  %w(sym3 sym4)
728
700
  end
729
-
730
- # @override
731
- def to_h
732
- @another_enum
733
- end
734
701
  end
735
702
 
736
703
  # Autogenerated Schema for Enum at com.my-namespace.YetAnotherEnum
@@ -738,21 +705,10 @@ module Schemas
738
705
  # @return ['sym5', 'sym6']
739
706
  attr_accessor :yet_another_enum
740
707
 
741
- # :nodoc:
742
- def initialize(yet_another_enum)
743
- super
744
- self.yet_another_enum = yet_another_enum
745
- end
746
-
747
708
  # @override
748
709
  def symbols
749
710
  %w(sym5 sym6)
750
711
  end
751
-
752
- # @override
753
- def to_h
754
- @yet_another_enum
755
- end
756
712
  end
757
713
 
758
714
 
@@ -869,7 +825,7 @@ module Schemas
869
825
  end
870
826
 
871
827
  # @override
872
- def to_h
828
+ def as_json(_opts={})
873
829
  {
874
830
  'test_id' => @test_id,
875
831
  'test_float' => @test_float,
@@ -877,13 +833,13 @@ module Schemas
877
833
  'test_int_array' => @test_int_array,
878
834
  'test_optional_int' => @test_optional_int,
879
835
  'some_integer_map' => @some_integer_map,
880
- 'some_record' => @some_record&.to_h,
881
- 'some_optional_record' => @some_optional_record&.to_h,
882
- 'some_record_array' => @some_record_array.map { |v| v&.to_h },
883
- 'some_record_map' => @some_record_map.transform_values { |v| v&.to_h },
884
- 'some_enum_array' => @some_enum_array.map { |v| v&.to_h },
885
- 'some_optional_enum' => @some_optional_enum&.to_h,
886
- 'some_enum_with_default' => @some_enum_with_default&.to_h
836
+ 'some_record' => @some_record&.as_json,
837
+ 'some_optional_record' => @some_optional_record&.as_json,
838
+ 'some_record_array' => @some_record_array.map { |v| v&.as_json },
839
+ 'some_record_map' => @some_record_map.transform_values { |v| v&.as_json },
840
+ 'some_enum_array' => @some_enum_array.map { |v| v&.as_json },
841
+ 'some_optional_enum' => @some_optional_enum&.as_json,
842
+ 'some_enum_with_default' => @some_enum_with_default&.as_json
887
843
  }
888
844
  end
889
845
  end
@@ -936,7 +892,7 @@ module Schemas
936
892
  end
937
893
 
938
894
  # @override
939
- def to_h
895
+ def as_json(_opts={})
940
896
  {
941
897
  'test_id' => @test_id,
942
898
  'updated_at' => @updated_at,
@@ -991,7 +947,7 @@ module Schemas
991
947
  end
992
948
 
993
949
  # @override
994
- def to_h
950
+ def as_json(_opts={})
995
951
  {
996
952
  'test_id' => @test_id,
997
953
  'some_int' => @some_int,
@@ -1049,7 +1005,7 @@ module Schemas
1049
1005
  end
1050
1006
 
1051
1007
  # @override
1052
- def to_h
1008
+ def as_json(_opts={})
1053
1009
  {
1054
1010
  'id' => @id,
1055
1011
  'test_id' => @test_id,
@@ -1092,7 +1048,7 @@ module Schemas
1092
1048
  end
1093
1049
 
1094
1050
  # @override
1095
- def to_h
1051
+ def as_json(_opts={})
1096
1052
  {
1097
1053
  'update_request_id' => @update_request_id
1098
1054
  }
@@ -1131,7 +1087,7 @@ module Schemas
1131
1087
  end
1132
1088
 
1133
1089
  # @override
1134
- def to_h
1090
+ def as_json(_opts={})
1135
1091
  {
1136
1092
  'update_response_id' => @update_response_id
1137
1093
  }
@@ -1202,7 +1158,7 @@ module Schemas
1202
1158
  end
1203
1159
 
1204
1160
  # @override
1205
- def to_h
1161
+ def as_json(_opts={})
1206
1162
  {
1207
1163
  'id' => @id,
1208
1164
  'wibble_id' => @wibble_id,
@@ -1265,7 +1221,7 @@ module Schemas
1265
1221
  end
1266
1222
 
1267
1223
  # @override
1268
- def to_h
1224
+ def as_json(_opts={})
1269
1225
  {
1270
1226
  'id' => @id,
1271
1227
  'widget_id' => @widget_id,
@@ -1324,7 +1280,7 @@ module Schemas
1324
1280
  end
1325
1281
 
1326
1282
  # @override
1327
- def to_h
1283
+ def as_json(_opts={})
1328
1284
  {
1329
1285
  'id' => @id,
1330
1286
  'widget_id' => @widget_id,