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.
- 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
|
|