deimos-ruby 1.15.1 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/deimos/active_record_producer.rb +1 -1
- data/lib/deimos/consumer.rb +3 -1
- data/lib/deimos/schema_class/base.rb +1 -24
- data/lib/deimos/schema_class/enum.rb +18 -0
- data/lib/deimos/schema_class/record.rb +15 -4
- data/lib/deimos/test_helpers.rb +3 -2
- data/lib/deimos/tracing/datadog.rb +11 -0
- data/lib/deimos/tracing/mock.rb +10 -0
- data/lib/deimos/tracing/provider.rb +13 -0
- data/lib/deimos/utils/schema_class.rb +16 -2
- data/lib/deimos/utils/schema_controller_mixin.rb +7 -1
- data/lib/deimos/version.rb +1 -1
- data/lib/generators/deimos/schema_class/templates/schema_enum.rb.tt +0 -11
- data/lib/generators/deimos/schema_class/templates/schema_record.rb.tt +2 -2
- data/lib/generators/deimos/schema_class_generator.rb +6 -10
- data/spec/batch_consumer_spec.rb +13 -10
- data/spec/generators/schema_class/my_schema_with_circular_reference_spec.rb +19 -19
- data/spec/generators/schema_class/my_schema_with_complex_types_spec.rb +2 -2
- data/spec/schemas/generated.rb +5 -5
- data/spec/schemas/my_nested_schema.rb +4 -4
- data/spec/schemas/my_schema.rb +2 -2
- data/spec/schemas/my_schema_key.rb +1 -1
- data/spec/schemas/my_schema_with_circular_reference.rb +3 -3
- data/spec/schemas/my_schema_with_complex_type.rb +11 -22
- data/spec/snapshots/consumers-no-nest.snap +34 -67
- data/spec/snapshots/consumers.snap +35 -79
- data/spec/snapshots/consumers_and_producers-no-nest.snap +35 -68
- data/spec/snapshots/consumers_and_producers.snap +36 -80
- data/spec/snapshots/consumers_circular-no-nest.snap +34 -67
- data/spec/snapshots/consumers_circular.snap +35 -79
- data/spec/snapshots/consumers_complex_types-no-nest.snap +34 -67
- data/spec/snapshots/consumers_complex_types.snap +35 -79
- data/spec/snapshots/consumers_nested-no-nest.snap +34 -67
- data/spec/snapshots/consumers_nested.snap +35 -79
- data/spec/snapshots/namespace_folders.snap +53 -97
- data/spec/snapshots/producers_with_key-no-nest.snap +35 -68
- data/spec/snapshots/producers_with_key.snap +36 -80
- metadata +2 -2
@@ -1,4 +1,4 @@
|
|
1
|
-
spec/app/lib/schema_classes/
|
1
|
+
spec/app/lib/schema_classes/my_namespace/generated.rb:
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -32,7 +32,7 @@ module Schemas; module MyNamespace
|
|
32
32
|
end
|
33
33
|
|
34
34
|
# @override
|
35
|
-
def
|
35
|
+
def as_json(_opts={})
|
36
36
|
{
|
37
37
|
'a_record_field' => @a_record_field
|
38
38
|
}
|
@@ -44,21 +44,10 @@ module Schemas; module MyNamespace
|
|
44
44
|
# @return ['sym1', 'sym2']
|
45
45
|
attr_accessor :an_enum
|
46
46
|
|
47
|
-
# :nodoc:
|
48
|
-
def initialize(an_enum)
|
49
|
-
super
|
50
|
-
self.an_enum = an_enum
|
51
|
-
end
|
52
|
-
|
53
47
|
# @override
|
54
48
|
def symbols
|
55
49
|
%w(sym1 sym2)
|
56
50
|
end
|
57
|
-
|
58
|
-
# @override
|
59
|
-
def to_h
|
60
|
-
@an_enum
|
61
|
-
end
|
62
51
|
end
|
63
52
|
|
64
53
|
|
@@ -140,7 +129,7 @@ module Schemas; module MyNamespace
|
|
140
129
|
end
|
141
130
|
|
142
131
|
# @override
|
143
|
-
def
|
132
|
+
def as_json(_opts={})
|
144
133
|
{
|
145
134
|
'a_string' => @a_string,
|
146
135
|
'a_int' => @a_int,
|
@@ -148,19 +137,19 @@ module Schemas; module MyNamespace
|
|
148
137
|
'a_float' => @a_float,
|
149
138
|
'a_double' => @a_double,
|
150
139
|
'an_optional_int' => @an_optional_int,
|
151
|
-
'an_enum' => @an_enum&.
|
140
|
+
'an_enum' => @an_enum&.as_json,
|
152
141
|
'an_array' => @an_array,
|
153
142
|
'a_map' => @a_map,
|
154
143
|
'timestamp' => @timestamp,
|
155
144
|
'message_id' => @message_id,
|
156
|
-
'a_record' => @a_record&.
|
145
|
+
'a_record' => @a_record&.as_json
|
157
146
|
}
|
158
147
|
end
|
159
148
|
end
|
160
149
|
end; end
|
161
150
|
|
162
151
|
|
163
|
-
spec/app/lib/schema_classes/
|
152
|
+
spec/app/lib/schema_classes/my_namespace/my_nested_schema.rb:
|
164
153
|
# frozen_string_literal: true
|
165
154
|
|
166
155
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -206,7 +195,7 @@ module Schemas; module MyNamespace
|
|
206
195
|
end
|
207
196
|
|
208
197
|
# @override
|
209
|
-
def
|
198
|
+
def as_json(_opts={})
|
210
199
|
{
|
211
200
|
'some_int' => @some_int,
|
212
201
|
'some_float' => @some_float,
|
@@ -267,20 +256,20 @@ module Schemas; module MyNamespace
|
|
267
256
|
end
|
268
257
|
|
269
258
|
# @override
|
270
|
-
def
|
259
|
+
def as_json(_opts={})
|
271
260
|
{
|
272
261
|
'test_id' => @test_id,
|
273
262
|
'test_float' => @test_float,
|
274
263
|
'test_array' => @test_array,
|
275
|
-
'some_nested_record' => @some_nested_record&.
|
276
|
-
'some_optional_record' => @some_optional_record&.
|
264
|
+
'some_nested_record' => @some_nested_record&.as_json,
|
265
|
+
'some_optional_record' => @some_optional_record&.as_json
|
277
266
|
}
|
278
267
|
end
|
279
268
|
end
|
280
269
|
end; end
|
281
270
|
|
282
271
|
|
283
|
-
spec/app/lib/schema_classes/
|
272
|
+
spec/app/lib/schema_classes/my_namespace/my_schema.rb:
|
284
273
|
# frozen_string_literal: true
|
285
274
|
|
286
275
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -326,18 +315,18 @@ module Schemas; module MyNamespace
|
|
326
315
|
end
|
327
316
|
|
328
317
|
# @override
|
329
|
-
def
|
318
|
+
def as_json(_opts={})
|
330
319
|
{
|
331
320
|
'test_id' => @test_id,
|
332
321
|
'some_int' => @some_int,
|
333
|
-
'payload_key' => @payload_key&.
|
322
|
+
'payload_key' => @payload_key&.as_json
|
334
323
|
}
|
335
324
|
end
|
336
325
|
end
|
337
326
|
end; end
|
338
327
|
|
339
328
|
|
340
|
-
spec/app/lib/schema_classes/
|
329
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_compound_key.rb:
|
341
330
|
# frozen_string_literal: true
|
342
331
|
|
343
332
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -371,7 +360,7 @@ module Schemas; module MyNamespace
|
|
371
360
|
end
|
372
361
|
|
373
362
|
# @override
|
374
|
-
def
|
363
|
+
def as_json(_opts={})
|
375
364
|
{
|
376
365
|
'part_one' => @part_one,
|
377
366
|
'part_two' => @part_two
|
@@ -381,7 +370,7 @@ module Schemas; module MyNamespace
|
|
381
370
|
end; end
|
382
371
|
|
383
372
|
|
384
|
-
spec/app/lib/schema_classes/
|
373
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_id_key.rb:
|
385
374
|
# frozen_string_literal: true
|
386
375
|
|
387
376
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -411,7 +400,7 @@ module Schemas; module MyNamespace
|
|
411
400
|
end
|
412
401
|
|
413
402
|
# @override
|
414
|
-
def
|
403
|
+
def as_json(_opts={})
|
415
404
|
{
|
416
405
|
'id' => @id
|
417
406
|
}
|
@@ -420,7 +409,7 @@ module Schemas; module MyNamespace
|
|
420
409
|
end; end
|
421
410
|
|
422
411
|
|
423
|
-
spec/app/lib/schema_classes/
|
412
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_key.rb:
|
424
413
|
# frozen_string_literal: true
|
425
414
|
|
426
415
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -450,7 +439,7 @@ module Schemas; module MyNamespace
|
|
450
439
|
end
|
451
440
|
|
452
441
|
# @override
|
453
|
-
def
|
442
|
+
def as_json(_opts={})
|
454
443
|
{
|
455
444
|
'test_id' => @test_id
|
456
445
|
}
|
@@ -459,7 +448,7 @@ module Schemas; module MyNamespace
|
|
459
448
|
end; end
|
460
449
|
|
461
450
|
|
462
|
-
spec/app/lib/schema_classes/
|
451
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_boolean.rb:
|
463
452
|
# frozen_string_literal: true
|
464
453
|
|
465
454
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -493,7 +482,7 @@ module Schemas; module MyNamespace
|
|
493
482
|
end
|
494
483
|
|
495
484
|
# @override
|
496
|
-
def
|
485
|
+
def as_json(_opts={})
|
497
486
|
{
|
498
487
|
'test_id' => @test_id,
|
499
488
|
'some_bool' => @some_bool
|
@@ -503,7 +492,7 @@ module Schemas; module MyNamespace
|
|
503
492
|
end; end
|
504
493
|
|
505
494
|
|
506
|
-
spec/app/lib/schema_classes/
|
495
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_circular_reference.rb:
|
507
496
|
# frozen_string_literal: true
|
508
497
|
|
509
498
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -537,7 +526,7 @@ module Schemas; module MyNamespace
|
|
537
526
|
end
|
538
527
|
|
539
528
|
# @override
|
540
|
-
def
|
529
|
+
def as_json(_opts={})
|
541
530
|
{
|
542
531
|
'property' => @property
|
543
532
|
}
|
@@ -574,16 +563,16 @@ module Schemas; module MyNamespace
|
|
574
563
|
end
|
575
564
|
|
576
565
|
# @override
|
577
|
-
def
|
566
|
+
def as_json(_opts={})
|
578
567
|
{
|
579
|
-
'properties' => @properties.transform_values { |v| v&.
|
568
|
+
'properties' => @properties.transform_values { |v| v&.as_json }
|
580
569
|
}
|
581
570
|
end
|
582
571
|
end
|
583
572
|
end; end
|
584
573
|
|
585
574
|
|
586
|
-
spec/app/lib/schema_classes/
|
575
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_complex_type.rb:
|
587
576
|
# frozen_string_literal: true
|
588
577
|
|
589
578
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -617,7 +606,7 @@ module Schemas; module MyNamespace
|
|
617
606
|
end
|
618
607
|
|
619
608
|
# @override
|
620
|
-
def
|
609
|
+
def as_json(_opts={})
|
621
610
|
{
|
622
611
|
'a_record_field' => @a_record_field
|
623
612
|
}
|
@@ -629,21 +618,10 @@ module Schemas; module MyNamespace
|
|
629
618
|
# @return ['sym1', 'sym2']
|
630
619
|
attr_accessor :an_enum
|
631
620
|
|
632
|
-
# :nodoc:
|
633
|
-
def initialize(an_enum)
|
634
|
-
super
|
635
|
-
self.an_enum = an_enum
|
636
|
-
end
|
637
|
-
|
638
621
|
# @override
|
639
622
|
def symbols
|
640
623
|
%w(sym1 sym2)
|
641
624
|
end
|
642
|
-
|
643
|
-
# @override
|
644
|
-
def to_h
|
645
|
-
@an_enum
|
646
|
-
end
|
647
625
|
end
|
648
626
|
|
649
627
|
# Autogenerated Schema for Enum at com.my-namespace.AnotherEnum
|
@@ -651,21 +629,10 @@ module Schemas; module MyNamespace
|
|
651
629
|
# @return ['sym3', 'sym4']
|
652
630
|
attr_accessor :another_enum
|
653
631
|
|
654
|
-
# :nodoc:
|
655
|
-
def initialize(another_enum)
|
656
|
-
super
|
657
|
-
self.another_enum = another_enum
|
658
|
-
end
|
659
|
-
|
660
632
|
# @override
|
661
633
|
def symbols
|
662
634
|
%w(sym3 sym4)
|
663
635
|
end
|
664
|
-
|
665
|
-
# @override
|
666
|
-
def to_h
|
667
|
-
@another_enum
|
668
|
-
end
|
669
636
|
end
|
670
637
|
|
671
638
|
# Autogenerated Schema for Enum at com.my-namespace.YetAnotherEnum
|
@@ -673,21 +640,10 @@ module Schemas; module MyNamespace
|
|
673
640
|
# @return ['sym5', 'sym6']
|
674
641
|
attr_accessor :yet_another_enum
|
675
642
|
|
676
|
-
# :nodoc:
|
677
|
-
def initialize(yet_another_enum)
|
678
|
-
super
|
679
|
-
self.yet_another_enum = yet_another_enum
|
680
|
-
end
|
681
|
-
|
682
643
|
# @override
|
683
644
|
def symbols
|
684
645
|
%w(sym5 sym6)
|
685
646
|
end
|
686
|
-
|
687
|
-
# @override
|
688
|
-
def to_h
|
689
|
-
@yet_another_enum
|
690
|
-
end
|
691
647
|
end
|
692
648
|
|
693
649
|
|
@@ -804,7 +760,7 @@ module Schemas; module MyNamespace
|
|
804
760
|
end
|
805
761
|
|
806
762
|
# @override
|
807
|
-
def
|
763
|
+
def as_json(_opts={})
|
808
764
|
{
|
809
765
|
'test_id' => @test_id,
|
810
766
|
'test_float' => @test_float,
|
@@ -812,20 +768,20 @@ module Schemas; module MyNamespace
|
|
812
768
|
'test_int_array' => @test_int_array,
|
813
769
|
'test_optional_int' => @test_optional_int,
|
814
770
|
'some_integer_map' => @some_integer_map,
|
815
|
-
'some_record' => @some_record&.
|
816
|
-
'some_optional_record' => @some_optional_record&.
|
817
|
-
'some_record_array' => @some_record_array.map { |v| v&.
|
818
|
-
'some_record_map' => @some_record_map.transform_values { |v| v&.
|
819
|
-
'some_enum_array' => @some_enum_array.map { |v| v&.
|
820
|
-
'some_optional_enum' => @some_optional_enum&.
|
821
|
-
'some_enum_with_default' => @some_enum_with_default&.
|
771
|
+
'some_record' => @some_record&.as_json,
|
772
|
+
'some_optional_record' => @some_optional_record&.as_json,
|
773
|
+
'some_record_array' => @some_record_array.map { |v| v&.as_json },
|
774
|
+
'some_record_map' => @some_record_map.transform_values { |v| v&.as_json },
|
775
|
+
'some_enum_array' => @some_enum_array.map { |v| v&.as_json },
|
776
|
+
'some_optional_enum' => @some_optional_enum&.as_json,
|
777
|
+
'some_enum_with_default' => @some_enum_with_default&.as_json
|
822
778
|
}
|
823
779
|
end
|
824
780
|
end
|
825
781
|
end; end
|
826
782
|
|
827
783
|
|
828
|
-
spec/app/lib/schema_classes/
|
784
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_date_time.rb:
|
829
785
|
# frozen_string_literal: true
|
830
786
|
|
831
787
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -871,7 +827,7 @@ module Schemas; module MyNamespace
|
|
871
827
|
end
|
872
828
|
|
873
829
|
# @override
|
874
|
-
def
|
830
|
+
def as_json(_opts={})
|
875
831
|
{
|
876
832
|
'test_id' => @test_id,
|
877
833
|
'updated_at' => @updated_at,
|
@@ -884,7 +840,7 @@ module Schemas; module MyNamespace
|
|
884
840
|
end; end
|
885
841
|
|
886
842
|
|
887
|
-
spec/app/lib/schema_classes/
|
843
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_id.rb:
|
888
844
|
# frozen_string_literal: true
|
889
845
|
|
890
846
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -926,7 +882,7 @@ module Schemas; module MyNamespace
|
|
926
882
|
end
|
927
883
|
|
928
884
|
# @override
|
929
|
-
def
|
885
|
+
def as_json(_opts={})
|
930
886
|
{
|
931
887
|
'test_id' => @test_id,
|
932
888
|
'some_int' => @some_int,
|
@@ -938,7 +894,7 @@ module Schemas; module MyNamespace
|
|
938
894
|
end; end
|
939
895
|
|
940
896
|
|
941
|
-
spec/app/lib/schema_classes/
|
897
|
+
spec/app/lib/schema_classes/my_namespace/my_schema_with_unique_id.rb:
|
942
898
|
# frozen_string_literal: true
|
943
899
|
|
944
900
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -984,7 +940,7 @@ module Schemas; module MyNamespace
|
|
984
940
|
end
|
985
941
|
|
986
942
|
# @override
|
987
|
-
def
|
943
|
+
def as_json(_opts={})
|
988
944
|
{
|
989
945
|
'id' => @id,
|
990
946
|
'test_id' => @test_id,
|
@@ -997,7 +953,7 @@ module Schemas; module MyNamespace
|
|
997
953
|
end; end
|
998
954
|
|
999
955
|
|
1000
|
-
spec/app/lib/schema_classes/
|
956
|
+
spec/app/lib/schema_classes/my_namespace/wibble.rb:
|
1001
957
|
# frozen_string_literal: true
|
1002
958
|
|
1003
959
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -1059,7 +1015,7 @@ module Schemas; module MyNamespace
|
|
1059
1015
|
end
|
1060
1016
|
|
1061
1017
|
# @override
|
1062
|
-
def
|
1018
|
+
def as_json(_opts={})
|
1063
1019
|
{
|
1064
1020
|
'id' => @id,
|
1065
1021
|
'wibble_id' => @wibble_id,
|
@@ -1076,7 +1032,7 @@ module Schemas; module MyNamespace
|
|
1076
1032
|
end; end
|
1077
1033
|
|
1078
1034
|
|
1079
|
-
spec/app/lib/schema_classes/
|
1035
|
+
spec/app/lib/schema_classes/my_namespace/widget.rb:
|
1080
1036
|
# frozen_string_literal: true
|
1081
1037
|
|
1082
1038
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -1122,7 +1078,7 @@ module Schemas; module MyNamespace
|
|
1122
1078
|
end
|
1123
1079
|
|
1124
1080
|
# @override
|
1125
|
-
def
|
1081
|
+
def as_json(_opts={})
|
1126
1082
|
{
|
1127
1083
|
'id' => @id,
|
1128
1084
|
'widget_id' => @widget_id,
|
@@ -1135,7 +1091,7 @@ module Schemas; module MyNamespace
|
|
1135
1091
|
end; end
|
1136
1092
|
|
1137
1093
|
|
1138
|
-
spec/app/lib/schema_classes/
|
1094
|
+
spec/app/lib/schema_classes/my_namespace/widget_the_second.rb:
|
1139
1095
|
# frozen_string_literal: true
|
1140
1096
|
|
1141
1097
|
# This file is autogenerated by Deimos, Do NOT modify
|
@@ -1181,7 +1137,7 @@ module Schemas; module MyNamespace
|
|
1181
1137
|
end
|
1182
1138
|
|
1183
1139
|
# @override
|
1184
|
-
def
|
1140
|
+
def as_json(_opts={})
|
1185
1141
|
{
|
1186
1142
|
'id' => @id,
|
1187
1143
|
'widget_id' => @widget_id,
|
@@ -1224,7 +1180,7 @@ module Schemas; module Request
|
|
1224
1180
|
end
|
1225
1181
|
|
1226
1182
|
# @override
|
1227
|
-
def
|
1183
|
+
def as_json(_opts={})
|
1228
1184
|
{
|
1229
1185
|
'request_id' => @request_id
|
1230
1186
|
}
|
@@ -1263,7 +1219,7 @@ module Schemas; module Request
|
|
1263
1219
|
end
|
1264
1220
|
|
1265
1221
|
# @override
|
1266
|
-
def
|
1222
|
+
def as_json(_opts={})
|
1267
1223
|
{
|
1268
1224
|
'request_id' => @request_id
|
1269
1225
|
}
|
@@ -1302,7 +1258,7 @@ module Schemas; module Request
|
|
1302
1258
|
end
|
1303
1259
|
|
1304
1260
|
# @override
|
1305
|
-
def
|
1261
|
+
def as_json(_opts={})
|
1306
1262
|
{
|
1307
1263
|
'update_request_id' => @update_request_id
|
1308
1264
|
}
|
@@ -1341,7 +1297,7 @@ module Schemas; module Response
|
|
1341
1297
|
end
|
1342
1298
|
|
1343
1299
|
# @override
|
1344
|
-
def
|
1300
|
+
def as_json(_opts={})
|
1345
1301
|
{
|
1346
1302
|
'response_id' => @response_id
|
1347
1303
|
}
|
@@ -1380,7 +1336,7 @@ module Schemas; module Response
|
|
1380
1336
|
end
|
1381
1337
|
|
1382
1338
|
# @override
|
1383
|
-
def
|
1339
|
+
def as_json(_opts={})
|
1384
1340
|
{
|
1385
1341
|
'response_id' => @response_id
|
1386
1342
|
}
|
@@ -1419,7 +1375,7 @@ module Schemas; module Response
|
|
1419
1375
|
end
|
1420
1376
|
|
1421
1377
|
# @override
|
1422
|
-
def
|
1378
|
+
def as_json(_opts={})
|
1423
1379
|
{
|
1424
1380
|
'update_response_id' => @update_response_id
|
1425
1381
|
}
|