deimos-ruby 1.15.1 → 1.16.2

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