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
|
@@ -43,7 +43,7 @@ module Schemas
|
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
# @override
|
|
46
|
-
def
|
|
46
|
+
def as_json(_opts={})
|
|
47
47
|
{
|
|
48
48
|
'some_int' => @some_int,
|
|
49
49
|
'some_float' => @some_float,
|
|
@@ -104,13 +104,13 @@ module Schemas
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
# @override
|
|
107
|
-
def
|
|
107
|
+
def as_json(_opts={})
|
|
108
108
|
{
|
|
109
109
|
'test_id' => @test_id,
|
|
110
110
|
'test_float' => @test_float,
|
|
111
111
|
'test_array' => @test_array,
|
|
112
|
-
'some_nested_record' => @some_nested_record&.
|
|
113
|
-
'some_optional_record' => @some_optional_record&.
|
|
112
|
+
'some_nested_record' => @some_nested_record&.as_json,
|
|
113
|
+
'some_optional_record' => @some_optional_record&.as_json
|
|
114
114
|
}
|
|
115
115
|
end
|
|
116
116
|
end
|
data/spec/schemas/my_schema.rb
CHANGED
|
@@ -31,7 +31,7 @@ module Schemas
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# @override
|
|
34
|
-
def
|
|
34
|
+
def as_json(_opts={})
|
|
35
35
|
{
|
|
36
36
|
'property' => @property
|
|
37
37
|
}
|
|
@@ -68,9 +68,9 @@ module Schemas
|
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
# @override
|
|
71
|
-
def
|
|
71
|
+
def as_json(_opts={})
|
|
72
72
|
{
|
|
73
|
-
'properties' => @properties.transform_values { |v| v&.
|
|
73
|
+
'properties' => @properties.transform_values { |v| v&.as_json }
|
|
74
74
|
}
|
|
75
75
|
end
|
|
76
76
|
end
|
|
@@ -31,7 +31,7 @@ module Schemas
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# @override
|
|
34
|
-
def
|
|
34
|
+
def as_json(_opts={})
|
|
35
35
|
{
|
|
36
36
|
'a_record_field' => @a_record_field
|
|
37
37
|
}
|
|
@@ -43,21 +43,10 @@ module Schemas
|
|
|
43
43
|
# @return ['sym1', 'sym2']
|
|
44
44
|
attr_accessor :an_enum
|
|
45
45
|
|
|
46
|
-
# :nodoc:
|
|
47
|
-
def initialize(an_enum)
|
|
48
|
-
super
|
|
49
|
-
self.an_enum = an_enum
|
|
50
|
-
end
|
|
51
|
-
|
|
52
46
|
# @override
|
|
53
47
|
def symbols
|
|
54
48
|
%w(sym1 sym2)
|
|
55
49
|
end
|
|
56
|
-
|
|
57
|
-
# @override
|
|
58
|
-
def to_h
|
|
59
|
-
@an_enum
|
|
60
|
-
end
|
|
61
50
|
end
|
|
62
51
|
|
|
63
52
|
# Autogenerated Schema for Enum at com.my-namespace.AnotherEnum
|
|
@@ -77,7 +66,7 @@ module Schemas
|
|
|
77
66
|
end
|
|
78
67
|
|
|
79
68
|
# @override
|
|
80
|
-
def
|
|
69
|
+
def as_json(_opts={})
|
|
81
70
|
@another_enum
|
|
82
71
|
end
|
|
83
72
|
end
|
|
@@ -99,7 +88,7 @@ module Schemas
|
|
|
99
88
|
end
|
|
100
89
|
|
|
101
90
|
# @override
|
|
102
|
-
def
|
|
91
|
+
def as_json(_opts={})
|
|
103
92
|
@yet_another_enum
|
|
104
93
|
end
|
|
105
94
|
end
|
|
@@ -218,7 +207,7 @@ module Schemas
|
|
|
218
207
|
end
|
|
219
208
|
|
|
220
209
|
# @override
|
|
221
|
-
def
|
|
210
|
+
def as_json(_opts={})
|
|
222
211
|
{
|
|
223
212
|
'test_id' => @test_id,
|
|
224
213
|
'test_float' => @test_float,
|
|
@@ -226,13 +215,13 @@ module Schemas
|
|
|
226
215
|
'test_int_array' => @test_int_array,
|
|
227
216
|
'test_optional_int' => @test_optional_int,
|
|
228
217
|
'some_integer_map' => @some_integer_map,
|
|
229
|
-
'some_record' => @some_record&.
|
|
230
|
-
'some_optional_record' => @some_optional_record&.
|
|
231
|
-
'some_record_array' => @some_record_array.map { |v| v&.
|
|
232
|
-
'some_record_map' => @some_record_map.transform_values { |v| v&.
|
|
233
|
-
'some_enum_array' => @some_enum_array.map { |v| v&.
|
|
234
|
-
'some_optional_enum' => @some_optional_enum&.
|
|
235
|
-
'some_enum_with_default' => @some_enum_with_default&.
|
|
218
|
+
'some_record' => @some_record&.as_json,
|
|
219
|
+
'some_optional_record' => @some_optional_record&.as_json,
|
|
220
|
+
'some_record_array' => @some_record_array.map { |v| v&.as_json },
|
|
221
|
+
'some_record_map' => @some_record_map.transform_values { |v| v&.as_json },
|
|
222
|
+
'some_enum_array' => @some_enum_array.map { |v| v&.as_json },
|
|
223
|
+
'some_optional_enum' => @some_optional_enum&.as_json,
|
|
224
|
+
'some_enum_with_default' => @some_enum_with_default&.as_json
|
|
236
225
|
}
|
|
237
226
|
end
|
|
238
227
|
end
|
|
@@ -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
|
'a_record_field' => @a_record_field
|
|
34
34
|
}
|
|
@@ -48,21 +48,10 @@ module Schemas
|
|
|
48
48
|
# @return ['sym1', 'sym2']
|
|
49
49
|
attr_accessor :an_enum
|
|
50
50
|
|
|
51
|
-
# :nodoc:
|
|
52
|
-
def initialize(an_enum)
|
|
53
|
-
super
|
|
54
|
-
self.an_enum = an_enum
|
|
55
|
-
end
|
|
56
|
-
|
|
57
51
|
# @override
|
|
58
52
|
def symbols
|
|
59
53
|
%w(sym1 sym2)
|
|
60
54
|
end
|
|
61
|
-
|
|
62
|
-
# @override
|
|
63
|
-
def to_h
|
|
64
|
-
@an_enum
|
|
65
|
-
end
|
|
66
55
|
end
|
|
67
56
|
end
|
|
68
57
|
|
|
@@ -78,21 +67,10 @@ module Schemas
|
|
|
78
67
|
# @return ['sym3', 'sym4']
|
|
79
68
|
attr_accessor :another_enum
|
|
80
69
|
|
|
81
|
-
# :nodoc:
|
|
82
|
-
def initialize(another_enum)
|
|
83
|
-
super
|
|
84
|
-
self.another_enum = another_enum
|
|
85
|
-
end
|
|
86
|
-
|
|
87
70
|
# @override
|
|
88
71
|
def symbols
|
|
89
72
|
%w(sym3 sym4)
|
|
90
73
|
end
|
|
91
|
-
|
|
92
|
-
# @override
|
|
93
|
-
def to_h
|
|
94
|
-
@another_enum
|
|
95
|
-
end
|
|
96
74
|
end
|
|
97
75
|
end
|
|
98
76
|
|
|
@@ -127,7 +105,7 @@ module Schemas
|
|
|
127
105
|
end
|
|
128
106
|
|
|
129
107
|
# @override
|
|
130
|
-
def
|
|
108
|
+
def as_json(_opts={})
|
|
131
109
|
{
|
|
132
110
|
'response_id' => @response_id
|
|
133
111
|
}
|
|
@@ -223,7 +201,7 @@ module Schemas
|
|
|
223
201
|
end
|
|
224
202
|
|
|
225
203
|
# @override
|
|
226
|
-
def
|
|
204
|
+
def as_json(_opts={})
|
|
227
205
|
{
|
|
228
206
|
'a_string' => @a_string,
|
|
229
207
|
'a_int' => @a_int,
|
|
@@ -231,12 +209,12 @@ module Schemas
|
|
|
231
209
|
'a_float' => @a_float,
|
|
232
210
|
'a_double' => @a_double,
|
|
233
211
|
'an_optional_int' => @an_optional_int,
|
|
234
|
-
'an_enum' => @an_enum&.
|
|
212
|
+
'an_enum' => @an_enum&.as_json,
|
|
235
213
|
'an_array' => @an_array,
|
|
236
214
|
'a_map' => @a_map,
|
|
237
215
|
'timestamp' => @timestamp,
|
|
238
216
|
'message_id' => @message_id,
|
|
239
|
-
'a_record' => @a_record&.
|
|
217
|
+
'a_record' => @a_record&.as_json
|
|
240
218
|
}
|
|
241
219
|
end
|
|
242
220
|
end
|
|
@@ -273,7 +251,7 @@ module Schemas
|
|
|
273
251
|
end
|
|
274
252
|
|
|
275
253
|
# @override
|
|
276
|
-
def
|
|
254
|
+
def as_json(_opts={})
|
|
277
255
|
{
|
|
278
256
|
'response_id' => @response_id
|
|
279
257
|
}
|
|
@@ -324,7 +302,7 @@ module Schemas
|
|
|
324
302
|
end
|
|
325
303
|
|
|
326
304
|
# @override
|
|
327
|
-
def
|
|
305
|
+
def as_json(_opts={})
|
|
328
306
|
{
|
|
329
307
|
'some_int' => @some_int,
|
|
330
308
|
'some_float' => @some_float,
|
|
@@ -395,13 +373,13 @@ module Schemas
|
|
|
395
373
|
end
|
|
396
374
|
|
|
397
375
|
# @override
|
|
398
|
-
def
|
|
376
|
+
def as_json(_opts={})
|
|
399
377
|
{
|
|
400
378
|
'test_id' => @test_id,
|
|
401
379
|
'test_float' => @test_float,
|
|
402
380
|
'test_array' => @test_array,
|
|
403
|
-
'some_nested_record' => @some_nested_record&.
|
|
404
|
-
'some_optional_record' => @some_optional_record&.
|
|
381
|
+
'some_nested_record' => @some_nested_record&.as_json,
|
|
382
|
+
'some_optional_record' => @some_optional_record&.as_json
|
|
405
383
|
}
|
|
406
384
|
end
|
|
407
385
|
end
|
|
@@ -442,7 +420,7 @@ module Schemas
|
|
|
442
420
|
end
|
|
443
421
|
|
|
444
422
|
# @override
|
|
445
|
-
def
|
|
423
|
+
def as_json(_opts={})
|
|
446
424
|
{
|
|
447
425
|
'test_id' => @test_id,
|
|
448
426
|
'some_int' => @some_int
|
|
@@ -486,7 +464,7 @@ module Schemas
|
|
|
486
464
|
end
|
|
487
465
|
|
|
488
466
|
# @override
|
|
489
|
-
def
|
|
467
|
+
def as_json(_opts={})
|
|
490
468
|
{
|
|
491
469
|
'part_one' => @part_one,
|
|
492
470
|
'part_two' => @part_two
|
|
@@ -526,7 +504,7 @@ module Schemas
|
|
|
526
504
|
end
|
|
527
505
|
|
|
528
506
|
# @override
|
|
529
|
-
def
|
|
507
|
+
def as_json(_opts={})
|
|
530
508
|
{
|
|
531
509
|
'id' => @id
|
|
532
510
|
}
|
|
@@ -565,7 +543,7 @@ module Schemas
|
|
|
565
543
|
end
|
|
566
544
|
|
|
567
545
|
# @override
|
|
568
|
-
def
|
|
546
|
+
def as_json(_opts={})
|
|
569
547
|
{
|
|
570
548
|
'test_id' => @test_id
|
|
571
549
|
}
|
|
@@ -608,7 +586,7 @@ module Schemas
|
|
|
608
586
|
end
|
|
609
587
|
|
|
610
588
|
# @override
|
|
611
|
-
def
|
|
589
|
+
def as_json(_opts={})
|
|
612
590
|
{
|
|
613
591
|
'test_id' => @test_id,
|
|
614
592
|
'some_bool' => @some_bool
|
|
@@ -656,9 +634,9 @@ module Schemas
|
|
|
656
634
|
end
|
|
657
635
|
|
|
658
636
|
# @override
|
|
659
|
-
def
|
|
637
|
+
def as_json(_opts={})
|
|
660
638
|
{
|
|
661
|
-
'properties' => @properties.transform_values { |v| v&.
|
|
639
|
+
'properties' => @properties.transform_values { |v| v&.as_json }
|
|
662
640
|
}
|
|
663
641
|
end
|
|
664
642
|
end
|
|
@@ -787,7 +765,7 @@ module Schemas
|
|
|
787
765
|
end
|
|
788
766
|
|
|
789
767
|
# @override
|
|
790
|
-
def
|
|
768
|
+
def as_json(_opts={})
|
|
791
769
|
{
|
|
792
770
|
'test_id' => @test_id,
|
|
793
771
|
'test_float' => @test_float,
|
|
@@ -795,13 +773,13 @@ module Schemas
|
|
|
795
773
|
'test_int_array' => @test_int_array,
|
|
796
774
|
'test_optional_int' => @test_optional_int,
|
|
797
775
|
'some_integer_map' => @some_integer_map,
|
|
798
|
-
'some_record' => @some_record&.
|
|
799
|
-
'some_optional_record' => @some_optional_record&.
|
|
800
|
-
'some_record_array' => @some_record_array.map { |v| v&.
|
|
801
|
-
'some_record_map' => @some_record_map.transform_values { |v| v&.
|
|
802
|
-
'some_enum_array' => @some_enum_array.map { |v| v&.
|
|
803
|
-
'some_optional_enum' => @some_optional_enum&.
|
|
804
|
-
'some_enum_with_default' => @some_enum_with_default&.
|
|
776
|
+
'some_record' => @some_record&.as_json,
|
|
777
|
+
'some_optional_record' => @some_optional_record&.as_json,
|
|
778
|
+
'some_record_array' => @some_record_array.map { |v| v&.as_json },
|
|
779
|
+
'some_record_map' => @some_record_map.transform_values { |v| v&.as_json },
|
|
780
|
+
'some_enum_array' => @some_enum_array.map { |v| v&.as_json },
|
|
781
|
+
'some_optional_enum' => @some_optional_enum&.as_json,
|
|
782
|
+
'some_enum_with_default' => @some_enum_with_default&.as_json
|
|
805
783
|
}
|
|
806
784
|
end
|
|
807
785
|
end
|
|
@@ -854,7 +832,7 @@ module Schemas
|
|
|
854
832
|
end
|
|
855
833
|
|
|
856
834
|
# @override
|
|
857
|
-
def
|
|
835
|
+
def as_json(_opts={})
|
|
858
836
|
{
|
|
859
837
|
'test_id' => @test_id,
|
|
860
838
|
'updated_at' => @updated_at,
|
|
@@ -909,7 +887,7 @@ module Schemas
|
|
|
909
887
|
end
|
|
910
888
|
|
|
911
889
|
# @override
|
|
912
|
-
def
|
|
890
|
+
def as_json(_opts={})
|
|
913
891
|
{
|
|
914
892
|
'test_id' => @test_id,
|
|
915
893
|
'some_int' => @some_int,
|
|
@@ -967,7 +945,7 @@ module Schemas
|
|
|
967
945
|
end
|
|
968
946
|
|
|
969
947
|
# @override
|
|
970
|
-
def
|
|
948
|
+
def as_json(_opts={})
|
|
971
949
|
{
|
|
972
950
|
'id' => @id,
|
|
973
951
|
'test_id' => @test_id,
|
|
@@ -1010,7 +988,7 @@ module Schemas
|
|
|
1010
988
|
end
|
|
1011
989
|
|
|
1012
990
|
# @override
|
|
1013
|
-
def
|
|
991
|
+
def as_json(_opts={})
|
|
1014
992
|
{
|
|
1015
993
|
'property' => @property
|
|
1016
994
|
}
|
|
@@ -1049,7 +1027,7 @@ module Schemas
|
|
|
1049
1027
|
end
|
|
1050
1028
|
|
|
1051
1029
|
# @override
|
|
1052
|
-
def
|
|
1030
|
+
def as_json(_opts={})
|
|
1053
1031
|
{
|
|
1054
1032
|
'update_request_id' => @update_request_id
|
|
1055
1033
|
}
|
|
@@ -1088,7 +1066,7 @@ module Schemas
|
|
|
1088
1066
|
end
|
|
1089
1067
|
|
|
1090
1068
|
# @override
|
|
1091
|
-
def
|
|
1069
|
+
def as_json(_opts={})
|
|
1092
1070
|
{
|
|
1093
1071
|
'update_response_id' => @update_response_id
|
|
1094
1072
|
}
|
|
@@ -1159,7 +1137,7 @@ module Schemas
|
|
|
1159
1137
|
end
|
|
1160
1138
|
|
|
1161
1139
|
# @override
|
|
1162
|
-
def
|
|
1140
|
+
def as_json(_opts={})
|
|
1163
1141
|
{
|
|
1164
1142
|
'id' => @id,
|
|
1165
1143
|
'wibble_id' => @wibble_id,
|
|
@@ -1222,7 +1200,7 @@ module Schemas
|
|
|
1222
1200
|
end
|
|
1223
1201
|
|
|
1224
1202
|
# @override
|
|
1225
|
-
def
|
|
1203
|
+
def as_json(_opts={})
|
|
1226
1204
|
{
|
|
1227
1205
|
'id' => @id,
|
|
1228
1206
|
'widget_id' => @widget_id,
|
|
@@ -1281,7 +1259,7 @@ module Schemas
|
|
|
1281
1259
|
end
|
|
1282
1260
|
|
|
1283
1261
|
# @override
|
|
1284
|
-
def
|
|
1262
|
+
def as_json(_opts={})
|
|
1285
1263
|
{
|
|
1286
1264
|
'id' => @id,
|
|
1287
1265
|
'widget_id' => @widget_id,
|
|
@@ -1305,21 +1283,10 @@ module Schemas
|
|
|
1305
1283
|
# @return ['sym5', 'sym6']
|
|
1306
1284
|
attr_accessor :yet_another_enum
|
|
1307
1285
|
|
|
1308
|
-
# :nodoc:
|
|
1309
|
-
def initialize(yet_another_enum)
|
|
1310
|
-
super
|
|
1311
|
-
self.yet_another_enum = yet_another_enum
|
|
1312
|
-
end
|
|
1313
|
-
|
|
1314
1286
|
# @override
|
|
1315
1287
|
def symbols
|
|
1316
1288
|
%w(sym5 sym6)
|
|
1317
1289
|
end
|
|
1318
|
-
|
|
1319
|
-
# @override
|
|
1320
|
-
def to_h
|
|
1321
|
-
@yet_another_enum
|
|
1322
|
-
end
|
|
1323
1290
|
end
|
|
1324
1291
|
end
|
|
1325
1292
|
|