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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +15 -0
- data/lib/deimos/active_record_producer.rb +8 -1
- data/lib/deimos/consumer.rb +3 -1
- data/lib/deimos/schema_class/base.rb +2 -25
- data/lib/deimos/schema_class/enum.rb +23 -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/active_record_producer_spec.rb +24 -0
- 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
|
@@ -28,7 +28,7 @@ module Schemas
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
# @override
|
|
31
|
-
def
|
|
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
|
|
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
|
|
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&.
|
|
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&.
|
|
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
|
|
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
|
|
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
|
|
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&.
|
|
354
|
-
'some_optional_record' => @some_optional_record&.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
631
|
+
def as_json(_opts={})
|
|
643
632
|
{
|
|
644
|
-
'properties' => @properties.transform_values { |v| v&.
|
|
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
|
|
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
|
|
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&.
|
|
881
|
-
'some_optional_record' => @some_optional_record&.
|
|
882
|
-
'some_record_array' => @some_record_array.map { |v| v&.
|
|
883
|
-
'some_record_map' => @some_record_map.transform_values { |v| v&.
|
|
884
|
-
'some_enum_array' => @some_enum_array.map { |v| v&.
|
|
885
|
-
'some_optional_enum' => @some_optional_enum&.
|
|
886
|
-
'some_enum_with_default' => @some_enum_with_default&.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1283
|
+
def as_json(_opts={})
|
|
1328
1284
|
{
|
|
1329
1285
|
'id' => @id,
|
|
1330
1286
|
'widget_id' => @widget_id,
|