deimos-ruby 2.0.4 → 2.0.5
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 +4 -0
- data/lib/deimos/schema_backends/avro_schema_coercer.rb +39 -1
- data/lib/deimos/version.rb +1 -1
- data/lib/generators/deimos/schema_class/templates/schema_record.rb.tt +18 -0
- data/lib/generators/deimos/schema_class_generator.rb +17 -2
- data/spec/active_record_producer_spec.rb +111 -5
- data/spec/schemas/com/my-namespace/MySchemaWithUnionType.avsc +91 -0
- data/spec/schemas/my_namespace/my_schema_with_union_type.rb +185 -0
- data/spec/snapshots/consumers-no-nest.snap +232 -0
- data/spec/snapshots/consumers.snap +202 -0
- data/spec/snapshots/consumers_and_producers-no-nest.snap +232 -0
- data/spec/snapshots/consumers_and_producers.snap +202 -0
- data/spec/snapshots/consumers_circular-no-nest.snap +232 -0
- data/spec/snapshots/consumers_circular.snap +202 -0
- data/spec/snapshots/consumers_complex_types-no-nest.snap +232 -0
- data/spec/snapshots/consumers_complex_types.snap +202 -0
- data/spec/snapshots/consumers_nested-no-nest.snap +232 -0
- data/spec/snapshots/consumers_nested.snap +202 -0
- data/spec/snapshots/namespace_folders.snap +202 -0
- data/spec/snapshots/namespace_map.snap +202 -0
- data/spec/snapshots/producers_with_key-no-nest.snap +232 -0
- data/spec/snapshots/producers_with_key.snap +202 -0
- data/spec/spec_helper.rb +25 -0
- metadata +6 -2
@@ -1012,6 +1012,77 @@ module Schemas
|
|
1012
1012
|
end
|
1013
1013
|
|
1014
1014
|
|
1015
|
+
spec/app/lib/schema_classes/my_schema_with_union_type.rb:
|
1016
|
+
# frozen_string_literal: true
|
1017
|
+
|
1018
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1019
|
+
module Schemas
|
1020
|
+
### Primary Schema Class ###
|
1021
|
+
# Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
|
1022
|
+
class MySchemaWithUnionType < Deimos::SchemaClass::Record
|
1023
|
+
|
1024
|
+
### Attribute Readers ###
|
1025
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
1026
|
+
attr_reader :test_union_type
|
1027
|
+
|
1028
|
+
### Attribute Accessors ###
|
1029
|
+
# @return [String]
|
1030
|
+
attr_accessor :test_id
|
1031
|
+
# @return [nil, Integer]
|
1032
|
+
attr_accessor :test_long
|
1033
|
+
|
1034
|
+
### Attribute Writers ###
|
1035
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
1036
|
+
def test_union_type=(value)
|
1037
|
+
@test_union_type = initialize_test_union_type_type(value)
|
1038
|
+
end
|
1039
|
+
|
1040
|
+
# Helper method to determine which schema type to use for test_union_type
|
1041
|
+
# @param value [Hash, nil]
|
1042
|
+
# @return [Object, nil]
|
1043
|
+
def initialize_test_union_type_type(value)
|
1044
|
+
return nil if value.nil?
|
1045
|
+
|
1046
|
+
klass = [Record1, Record2, Record3, Record4].find do |candidate|
|
1047
|
+
fields = candidate.new.as_json.keys
|
1048
|
+
(value.keys - fields).empty?
|
1049
|
+
end
|
1050
|
+
|
1051
|
+
klass.initialize_from_value(value)
|
1052
|
+
end
|
1053
|
+
|
1054
|
+
# @override
|
1055
|
+
def initialize(test_id: "",
|
1056
|
+
test_long: nil,
|
1057
|
+
test_union_type: nil)
|
1058
|
+
super
|
1059
|
+
self.test_id = test_id
|
1060
|
+
self.test_long = test_long
|
1061
|
+
self.test_union_type = test_union_type
|
1062
|
+
end
|
1063
|
+
|
1064
|
+
# @override
|
1065
|
+
def schema
|
1066
|
+
'MySchemaWithUnionType'
|
1067
|
+
end
|
1068
|
+
|
1069
|
+
# @override
|
1070
|
+
def namespace
|
1071
|
+
'com.my-namespace'
|
1072
|
+
end
|
1073
|
+
|
1074
|
+
# @override
|
1075
|
+
def as_json(_opts={})
|
1076
|
+
{
|
1077
|
+
'test_id' => @test_id,
|
1078
|
+
'test_long' => @test_long,
|
1079
|
+
'test_union_type' => @test_union_type&.as_json
|
1080
|
+
}
|
1081
|
+
end
|
1082
|
+
end
|
1083
|
+
end
|
1084
|
+
|
1085
|
+
|
1015
1086
|
spec/app/lib/schema_classes/my_schema_with_unique_id.rb:
|
1016
1087
|
# frozen_string_literal: true
|
1017
1088
|
|
@@ -1110,6 +1181,167 @@ module Schemas
|
|
1110
1181
|
end
|
1111
1182
|
|
1112
1183
|
|
1184
|
+
spec/app/lib/schema_classes/record1.rb:
|
1185
|
+
# frozen_string_literal: true
|
1186
|
+
|
1187
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1188
|
+
module Schemas
|
1189
|
+
### Primary Schema Class ###
|
1190
|
+
# Autogenerated Schema for Record at com.flipp.content.Record1
|
1191
|
+
class Record1 < Deimos::SchemaClass::Record
|
1192
|
+
|
1193
|
+
### Attribute Accessors ###
|
1194
|
+
# @return [Hash<String, Integer>]
|
1195
|
+
attr_accessor :record1_map
|
1196
|
+
# @return [Integer]
|
1197
|
+
attr_accessor :record1_id
|
1198
|
+
|
1199
|
+
# @override
|
1200
|
+
def initialize(record1_map: {},
|
1201
|
+
record1_id: 0)
|
1202
|
+
super
|
1203
|
+
self.record1_map = record1_map
|
1204
|
+
self.record1_id = record1_id
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
# @override
|
1208
|
+
def schema
|
1209
|
+
'Record1'
|
1210
|
+
end
|
1211
|
+
|
1212
|
+
# @override
|
1213
|
+
def namespace
|
1214
|
+
'com.flipp.content'
|
1215
|
+
end
|
1216
|
+
|
1217
|
+
# @override
|
1218
|
+
def as_json(_opts={})
|
1219
|
+
{
|
1220
|
+
'record1_map' => @record1_map,
|
1221
|
+
'record1_id' => @record1_id
|
1222
|
+
}
|
1223
|
+
end
|
1224
|
+
end
|
1225
|
+
end
|
1226
|
+
|
1227
|
+
|
1228
|
+
spec/app/lib/schema_classes/record2.rb:
|
1229
|
+
# frozen_string_literal: true
|
1230
|
+
|
1231
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1232
|
+
module Schemas
|
1233
|
+
### Primary Schema Class ###
|
1234
|
+
# Autogenerated Schema for Record at com.flipp.content.Record2
|
1235
|
+
class Record2 < Deimos::SchemaClass::Record
|
1236
|
+
|
1237
|
+
### Attribute Accessors ###
|
1238
|
+
# @return [String]
|
1239
|
+
attr_accessor :record2_id
|
1240
|
+
|
1241
|
+
# @override
|
1242
|
+
def initialize(record2_id: "")
|
1243
|
+
super
|
1244
|
+
self.record2_id = record2_id
|
1245
|
+
end
|
1246
|
+
|
1247
|
+
# @override
|
1248
|
+
def schema
|
1249
|
+
'Record2'
|
1250
|
+
end
|
1251
|
+
|
1252
|
+
# @override
|
1253
|
+
def namespace
|
1254
|
+
'com.flipp.content'
|
1255
|
+
end
|
1256
|
+
|
1257
|
+
# @override
|
1258
|
+
def as_json(_opts={})
|
1259
|
+
{
|
1260
|
+
'record2_id' => @record2_id
|
1261
|
+
}
|
1262
|
+
end
|
1263
|
+
end
|
1264
|
+
end
|
1265
|
+
|
1266
|
+
|
1267
|
+
spec/app/lib/schema_classes/record3.rb:
|
1268
|
+
# frozen_string_literal: true
|
1269
|
+
|
1270
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1271
|
+
module Schemas
|
1272
|
+
### Primary Schema Class ###
|
1273
|
+
# Autogenerated Schema for Record at com.flipp.content.Record3
|
1274
|
+
class Record3 < Deimos::SchemaClass::Record
|
1275
|
+
|
1276
|
+
### Attribute Accessors ###
|
1277
|
+
# @return [Float]
|
1278
|
+
attr_accessor :record3_id
|
1279
|
+
|
1280
|
+
# @override
|
1281
|
+
def initialize(record3_id: 0.0)
|
1282
|
+
super
|
1283
|
+
self.record3_id = record3_id
|
1284
|
+
end
|
1285
|
+
|
1286
|
+
# @override
|
1287
|
+
def schema
|
1288
|
+
'Record3'
|
1289
|
+
end
|
1290
|
+
|
1291
|
+
# @override
|
1292
|
+
def namespace
|
1293
|
+
'com.flipp.content'
|
1294
|
+
end
|
1295
|
+
|
1296
|
+
# @override
|
1297
|
+
def as_json(_opts={})
|
1298
|
+
{
|
1299
|
+
'record3_id' => @record3_id
|
1300
|
+
}
|
1301
|
+
end
|
1302
|
+
end
|
1303
|
+
end
|
1304
|
+
|
1305
|
+
|
1306
|
+
spec/app/lib/schema_classes/record4.rb:
|
1307
|
+
# frozen_string_literal: true
|
1308
|
+
|
1309
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1310
|
+
module Schemas
|
1311
|
+
### Primary Schema Class ###
|
1312
|
+
# Autogenerated Schema for Record at com.flipp.content.Record4
|
1313
|
+
class Record4 < Deimos::SchemaClass::Record
|
1314
|
+
|
1315
|
+
### Attribute Accessors ###
|
1316
|
+
# @return [Integer]
|
1317
|
+
attr_accessor :record4_id
|
1318
|
+
|
1319
|
+
# @override
|
1320
|
+
def initialize(record4_id: 0)
|
1321
|
+
super
|
1322
|
+
self.record4_id = record4_id
|
1323
|
+
end
|
1324
|
+
|
1325
|
+
# @override
|
1326
|
+
def schema
|
1327
|
+
'Record4'
|
1328
|
+
end
|
1329
|
+
|
1330
|
+
# @override
|
1331
|
+
def namespace
|
1332
|
+
'com.flipp.content'
|
1333
|
+
end
|
1334
|
+
|
1335
|
+
# @override
|
1336
|
+
def as_json(_opts={})
|
1337
|
+
{
|
1338
|
+
'record4_id' => @record4_id
|
1339
|
+
}
|
1340
|
+
end
|
1341
|
+
end
|
1342
|
+
end
|
1343
|
+
|
1344
|
+
|
1113
1345
|
spec/app/lib/schema_classes/update_request.rb:
|
1114
1346
|
# frozen_string_literal: true
|
1115
1347
|
|
@@ -1072,6 +1072,208 @@ module Schemas
|
|
1072
1072
|
end
|
1073
1073
|
|
1074
1074
|
|
1075
|
+
spec/app/lib/schema_classes/my_schema_with_union_type.rb:
|
1076
|
+
# frozen_string_literal: true
|
1077
|
+
|
1078
|
+
# This file is autogenerated by Deimos, Do NOT modify
|
1079
|
+
module Schemas
|
1080
|
+
### Primary Schema Class ###
|
1081
|
+
# Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
|
1082
|
+
class MySchemaWithUnionType < Deimos::SchemaClass::Record
|
1083
|
+
|
1084
|
+
### Secondary Schema Classes ###
|
1085
|
+
# Autogenerated Schema for Record at com.flipp.content.Record1
|
1086
|
+
class Record1 < Deimos::SchemaClass::Record
|
1087
|
+
|
1088
|
+
### Attribute Accessors ###
|
1089
|
+
# @return [Hash<String, Integer>]
|
1090
|
+
attr_accessor :record1_map
|
1091
|
+
# @return [Integer]
|
1092
|
+
attr_accessor :record1_id
|
1093
|
+
|
1094
|
+
# @override
|
1095
|
+
def initialize(record1_map: {},
|
1096
|
+
record1_id: 0)
|
1097
|
+
super
|
1098
|
+
self.record1_map = record1_map
|
1099
|
+
self.record1_id = record1_id
|
1100
|
+
end
|
1101
|
+
|
1102
|
+
# @override
|
1103
|
+
def schema
|
1104
|
+
'Record1'
|
1105
|
+
end
|
1106
|
+
|
1107
|
+
# @override
|
1108
|
+
def namespace
|
1109
|
+
'com.flipp.content'
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
# @override
|
1113
|
+
def as_json(_opts={})
|
1114
|
+
{
|
1115
|
+
'record1_map' => @record1_map,
|
1116
|
+
'record1_id' => @record1_id
|
1117
|
+
}
|
1118
|
+
end
|
1119
|
+
end
|
1120
|
+
|
1121
|
+
# Autogenerated Schema for Record at com.flipp.content.Record2
|
1122
|
+
class Record2 < Deimos::SchemaClass::Record
|
1123
|
+
|
1124
|
+
### Attribute Accessors ###
|
1125
|
+
# @return [String]
|
1126
|
+
attr_accessor :record2_id
|
1127
|
+
|
1128
|
+
# @override
|
1129
|
+
def initialize(record2_id: "")
|
1130
|
+
super
|
1131
|
+
self.record2_id = record2_id
|
1132
|
+
end
|
1133
|
+
|
1134
|
+
# @override
|
1135
|
+
def schema
|
1136
|
+
'Record2'
|
1137
|
+
end
|
1138
|
+
|
1139
|
+
# @override
|
1140
|
+
def namespace
|
1141
|
+
'com.flipp.content'
|
1142
|
+
end
|
1143
|
+
|
1144
|
+
# @override
|
1145
|
+
def as_json(_opts={})
|
1146
|
+
{
|
1147
|
+
'record2_id' => @record2_id
|
1148
|
+
}
|
1149
|
+
end
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
# Autogenerated Schema for Record at com.flipp.content.Record3
|
1153
|
+
class Record3 < Deimos::SchemaClass::Record
|
1154
|
+
|
1155
|
+
### Attribute Accessors ###
|
1156
|
+
# @return [Float]
|
1157
|
+
attr_accessor :record3_id
|
1158
|
+
|
1159
|
+
# @override
|
1160
|
+
def initialize(record3_id: 0.0)
|
1161
|
+
super
|
1162
|
+
self.record3_id = record3_id
|
1163
|
+
end
|
1164
|
+
|
1165
|
+
# @override
|
1166
|
+
def schema
|
1167
|
+
'Record3'
|
1168
|
+
end
|
1169
|
+
|
1170
|
+
# @override
|
1171
|
+
def namespace
|
1172
|
+
'com.flipp.content'
|
1173
|
+
end
|
1174
|
+
|
1175
|
+
# @override
|
1176
|
+
def as_json(_opts={})
|
1177
|
+
{
|
1178
|
+
'record3_id' => @record3_id
|
1179
|
+
}
|
1180
|
+
end
|
1181
|
+
end
|
1182
|
+
|
1183
|
+
# Autogenerated Schema for Record at com.flipp.content.Record4
|
1184
|
+
class Record4 < Deimos::SchemaClass::Record
|
1185
|
+
|
1186
|
+
### Attribute Accessors ###
|
1187
|
+
# @return [Integer]
|
1188
|
+
attr_accessor :record4_id
|
1189
|
+
|
1190
|
+
# @override
|
1191
|
+
def initialize(record4_id: 0)
|
1192
|
+
super
|
1193
|
+
self.record4_id = record4_id
|
1194
|
+
end
|
1195
|
+
|
1196
|
+
# @override
|
1197
|
+
def schema
|
1198
|
+
'Record4'
|
1199
|
+
end
|
1200
|
+
|
1201
|
+
# @override
|
1202
|
+
def namespace
|
1203
|
+
'com.flipp.content'
|
1204
|
+
end
|
1205
|
+
|
1206
|
+
# @override
|
1207
|
+
def as_json(_opts={})
|
1208
|
+
{
|
1209
|
+
'record4_id' => @record4_id
|
1210
|
+
}
|
1211
|
+
end
|
1212
|
+
end
|
1213
|
+
|
1214
|
+
|
1215
|
+
### Attribute Readers ###
|
1216
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
1217
|
+
attr_reader :test_union_type
|
1218
|
+
|
1219
|
+
### Attribute Accessors ###
|
1220
|
+
# @return [String]
|
1221
|
+
attr_accessor :test_id
|
1222
|
+
# @return [nil, Integer]
|
1223
|
+
attr_accessor :test_long
|
1224
|
+
|
1225
|
+
### Attribute Writers ###
|
1226
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
1227
|
+
def test_union_type=(value)
|
1228
|
+
@test_union_type = initialize_test_union_type_type(value)
|
1229
|
+
end
|
1230
|
+
|
1231
|
+
# Helper method to determine which schema type to use for test_union_type
|
1232
|
+
# @param value [Hash, nil]
|
1233
|
+
# @return [Object, nil]
|
1234
|
+
def initialize_test_union_type_type(value)
|
1235
|
+
return nil if value.nil?
|
1236
|
+
|
1237
|
+
klass = [Record1, Record2, Record3, Record4].find do |candidate|
|
1238
|
+
fields = candidate.new.as_json.keys
|
1239
|
+
(value.keys - fields).empty?
|
1240
|
+
end
|
1241
|
+
|
1242
|
+
klass.initialize_from_value(value)
|
1243
|
+
end
|
1244
|
+
|
1245
|
+
# @override
|
1246
|
+
def initialize(test_id: "",
|
1247
|
+
test_long: nil,
|
1248
|
+
test_union_type: nil)
|
1249
|
+
super
|
1250
|
+
self.test_id = test_id
|
1251
|
+
self.test_long = test_long
|
1252
|
+
self.test_union_type = test_union_type
|
1253
|
+
end
|
1254
|
+
|
1255
|
+
# @override
|
1256
|
+
def schema
|
1257
|
+
'MySchemaWithUnionType'
|
1258
|
+
end
|
1259
|
+
|
1260
|
+
# @override
|
1261
|
+
def namespace
|
1262
|
+
'com.my-namespace'
|
1263
|
+
end
|
1264
|
+
|
1265
|
+
# @override
|
1266
|
+
def as_json(_opts={})
|
1267
|
+
{
|
1268
|
+
'test_id' => @test_id,
|
1269
|
+
'test_long' => @test_long,
|
1270
|
+
'test_union_type' => @test_union_type&.as_json
|
1271
|
+
}
|
1272
|
+
end
|
1273
|
+
end
|
1274
|
+
end
|
1275
|
+
|
1276
|
+
|
1075
1277
|
spec/app/lib/schema_classes/my_schema_with_unique_id.rb:
|
1076
1278
|
# frozen_string_literal: true
|
1077
1279
|
|
data/spec/spec_helper.rb
CHANGED
@@ -276,6 +276,31 @@ RSpec.shared_context('with widgets') do
|
|
276
276
|
end
|
277
277
|
end
|
278
278
|
|
279
|
+
RSpec.shared_context('with widget_with_union_types') do
|
280
|
+
before(:all) do
|
281
|
+
ActiveRecord::Base.connection.create_table(:widget_with_union_types, force: true) do |t|
|
282
|
+
t.string(:test_id)
|
283
|
+
t.bigint(:test_long)
|
284
|
+
t.json(:test_union_type)
|
285
|
+
|
286
|
+
t.timestamps
|
287
|
+
end
|
288
|
+
|
289
|
+
# :nodoc:
|
290
|
+
class WidgetWithUnionType < ActiveRecord::Base
|
291
|
+
# @return [String]
|
292
|
+
def generated_id
|
293
|
+
'generated_id'
|
294
|
+
end
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
after(:all) do
|
299
|
+
ActiveRecord::Base.connection.drop_table(:widget_with_union_types)
|
300
|
+
end
|
301
|
+
end
|
302
|
+
|
303
|
+
|
279
304
|
RSpec.shared_context('with DB') do
|
280
305
|
before(:all) do
|
281
306
|
setup_db(self.class.metadata[:db_config] || DbConfigs::DB_OPTIONS.last)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deimos-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Orner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-03-
|
11
|
+
date: 2025-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avro_turf
|
@@ -568,6 +568,7 @@ files:
|
|
568
568
|
- spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
|
569
569
|
- spec/schemas/com/my-namespace/MySchemaWithId.avsc
|
570
570
|
- spec/schemas/com/my-namespace/MySchemaWithTitle.avsc
|
571
|
+
- spec/schemas/com/my-namespace/MySchemaWithUnionType.avsc
|
571
572
|
- spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
|
572
573
|
- spec/schemas/com/my-namespace/MySchema_key.avsc
|
573
574
|
- spec/schemas/com/my-namespace/Wibble.avsc
|
@@ -592,6 +593,7 @@ files:
|
|
592
593
|
- spec/schemas/my_namespace/my_schema_with_complex_type.rb
|
593
594
|
- spec/schemas/my_namespace/my_schema_with_date_time.rb
|
594
595
|
- spec/schemas/my_namespace/my_schema_with_id.rb
|
596
|
+
- spec/schemas/my_namespace/my_schema_with_union_type.rb
|
595
597
|
- spec/schemas/my_namespace/my_schema_with_unique_id.rb
|
596
598
|
- spec/schemas/my_namespace/my_updated_schema.rb
|
597
599
|
- spec/schemas/my_namespace/request/create_topic.rb
|
@@ -695,6 +697,7 @@ test_files:
|
|
695
697
|
- spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
|
696
698
|
- spec/schemas/com/my-namespace/MySchemaWithId.avsc
|
697
699
|
- spec/schemas/com/my-namespace/MySchemaWithTitle.avsc
|
700
|
+
- spec/schemas/com/my-namespace/MySchemaWithUnionType.avsc
|
698
701
|
- spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
|
699
702
|
- spec/schemas/com/my-namespace/MySchema_key.avsc
|
700
703
|
- spec/schemas/com/my-namespace/Wibble.avsc
|
@@ -719,6 +722,7 @@ test_files:
|
|
719
722
|
- spec/schemas/my_namespace/my_schema_with_complex_type.rb
|
720
723
|
- spec/schemas/my_namespace/my_schema_with_date_time.rb
|
721
724
|
- spec/schemas/my_namespace/my_schema_with_id.rb
|
725
|
+
- spec/schemas/my_namespace/my_schema_with_union_type.rb
|
722
726
|
- spec/schemas/my_namespace/my_schema_with_unique_id.rb
|
723
727
|
- spec/schemas/my_namespace/my_updated_schema.rb
|
724
728
|
- spec/schemas/my_namespace/request/create_topic.rb
|