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.
@@ -1059,6 +1059,208 @@ module Schemas
1059
1059
  end
1060
1060
 
1061
1061
 
1062
+ spec/app/lib/schema_classes/my_schema_with_union_type.rb:
1063
+ # frozen_string_literal: true
1064
+
1065
+ # This file is autogenerated by Deimos, Do NOT modify
1066
+ module Schemas
1067
+ ### Primary Schema Class ###
1068
+ # Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
1069
+ class MySchemaWithUnionType < Deimos::SchemaClass::Record
1070
+
1071
+ ### Secondary Schema Classes ###
1072
+ # Autogenerated Schema for Record at com.flipp.content.Record1
1073
+ class Record1 < Deimos::SchemaClass::Record
1074
+
1075
+ ### Attribute Accessors ###
1076
+ # @return [Hash<String, Integer>]
1077
+ attr_accessor :record1_map
1078
+ # @return [Integer]
1079
+ attr_accessor :record1_id
1080
+
1081
+ # @override
1082
+ def initialize(record1_map: {},
1083
+ record1_id: 0)
1084
+ super
1085
+ self.record1_map = record1_map
1086
+ self.record1_id = record1_id
1087
+ end
1088
+
1089
+ # @override
1090
+ def schema
1091
+ 'Record1'
1092
+ end
1093
+
1094
+ # @override
1095
+ def namespace
1096
+ 'com.flipp.content'
1097
+ end
1098
+
1099
+ # @override
1100
+ def as_json(_opts={})
1101
+ {
1102
+ 'record1_map' => @record1_map,
1103
+ 'record1_id' => @record1_id
1104
+ }
1105
+ end
1106
+ end
1107
+
1108
+ # Autogenerated Schema for Record at com.flipp.content.Record2
1109
+ class Record2 < Deimos::SchemaClass::Record
1110
+
1111
+ ### Attribute Accessors ###
1112
+ # @return [String]
1113
+ attr_accessor :record2_id
1114
+
1115
+ # @override
1116
+ def initialize(record2_id: "")
1117
+ super
1118
+ self.record2_id = record2_id
1119
+ end
1120
+
1121
+ # @override
1122
+ def schema
1123
+ 'Record2'
1124
+ end
1125
+
1126
+ # @override
1127
+ def namespace
1128
+ 'com.flipp.content'
1129
+ end
1130
+
1131
+ # @override
1132
+ def as_json(_opts={})
1133
+ {
1134
+ 'record2_id' => @record2_id
1135
+ }
1136
+ end
1137
+ end
1138
+
1139
+ # Autogenerated Schema for Record at com.flipp.content.Record3
1140
+ class Record3 < Deimos::SchemaClass::Record
1141
+
1142
+ ### Attribute Accessors ###
1143
+ # @return [Float]
1144
+ attr_accessor :record3_id
1145
+
1146
+ # @override
1147
+ def initialize(record3_id: 0.0)
1148
+ super
1149
+ self.record3_id = record3_id
1150
+ end
1151
+
1152
+ # @override
1153
+ def schema
1154
+ 'Record3'
1155
+ end
1156
+
1157
+ # @override
1158
+ def namespace
1159
+ 'com.flipp.content'
1160
+ end
1161
+
1162
+ # @override
1163
+ def as_json(_opts={})
1164
+ {
1165
+ 'record3_id' => @record3_id
1166
+ }
1167
+ end
1168
+ end
1169
+
1170
+ # Autogenerated Schema for Record at com.flipp.content.Record4
1171
+ class Record4 < Deimos::SchemaClass::Record
1172
+
1173
+ ### Attribute Accessors ###
1174
+ # @return [Integer]
1175
+ attr_accessor :record4_id
1176
+
1177
+ # @override
1178
+ def initialize(record4_id: 0)
1179
+ super
1180
+ self.record4_id = record4_id
1181
+ end
1182
+
1183
+ # @override
1184
+ def schema
1185
+ 'Record4'
1186
+ end
1187
+
1188
+ # @override
1189
+ def namespace
1190
+ 'com.flipp.content'
1191
+ end
1192
+
1193
+ # @override
1194
+ def as_json(_opts={})
1195
+ {
1196
+ 'record4_id' => @record4_id
1197
+ }
1198
+ end
1199
+ end
1200
+
1201
+
1202
+ ### Attribute Readers ###
1203
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1204
+ attr_reader :test_union_type
1205
+
1206
+ ### Attribute Accessors ###
1207
+ # @return [String]
1208
+ attr_accessor :test_id
1209
+ # @return [nil, Integer]
1210
+ attr_accessor :test_long
1211
+
1212
+ ### Attribute Writers ###
1213
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1214
+ def test_union_type=(value)
1215
+ @test_union_type = initialize_test_union_type_type(value)
1216
+ end
1217
+
1218
+ # Helper method to determine which schema type to use for test_union_type
1219
+ # @param value [Hash, nil]
1220
+ # @return [Object, nil]
1221
+ def initialize_test_union_type_type(value)
1222
+ return nil if value.nil?
1223
+
1224
+ klass = [Record1, Record2, Record3, Record4].find do |candidate|
1225
+ fields = candidate.new.as_json.keys
1226
+ (value.keys - fields).empty?
1227
+ end
1228
+
1229
+ klass.initialize_from_value(value)
1230
+ end
1231
+
1232
+ # @override
1233
+ def initialize(test_id: "",
1234
+ test_long: nil,
1235
+ test_union_type: nil)
1236
+ super
1237
+ self.test_id = test_id
1238
+ self.test_long = test_long
1239
+ self.test_union_type = test_union_type
1240
+ end
1241
+
1242
+ # @override
1243
+ def schema
1244
+ 'MySchemaWithUnionType'
1245
+ end
1246
+
1247
+ # @override
1248
+ def namespace
1249
+ 'com.my-namespace'
1250
+ end
1251
+
1252
+ # @override
1253
+ def as_json(_opts={})
1254
+ {
1255
+ 'test_id' => @test_id,
1256
+ 'test_long' => @test_long,
1257
+ 'test_union_type' => @test_union_type&.as_json
1258
+ }
1259
+ end
1260
+ end
1261
+ end
1262
+
1263
+
1062
1264
  spec/app/lib/schema_classes/my_schema_with_unique_id.rb:
1063
1265
  # frozen_string_literal: true
1064
1266
 
@@ -964,6 +964,208 @@ module Schemas; module Com; module MyNamespace
964
964
  end; end; end
965
965
 
966
966
 
967
+ spec/app/lib/schema_classes/schemas/com/my_namespace/my_schema_with_union_type.rb:
968
+ # frozen_string_literal: true
969
+
970
+ # This file is autogenerated by Deimos, Do NOT modify
971
+ module Schemas; module Com; module MyNamespace
972
+ ### Primary Schema Class ###
973
+ # Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
974
+ class MySchemaWithUnionType < Deimos::SchemaClass::Record
975
+
976
+ ### Secondary Schema Classes ###
977
+ # Autogenerated Schema for Record at com.flipp.content.Record1
978
+ class Record1 < Deimos::SchemaClass::Record
979
+
980
+ ### Attribute Accessors ###
981
+ # @return [Hash<String, Integer>]
982
+ attr_accessor :record1_map
983
+ # @return [Integer]
984
+ attr_accessor :record1_id
985
+
986
+ # @override
987
+ def initialize(record1_map: {},
988
+ record1_id: 0)
989
+ super
990
+ self.record1_map = record1_map
991
+ self.record1_id = record1_id
992
+ end
993
+
994
+ # @override
995
+ def schema
996
+ 'Record1'
997
+ end
998
+
999
+ # @override
1000
+ def namespace
1001
+ 'com.flipp.content'
1002
+ end
1003
+
1004
+ # @override
1005
+ def as_json(_opts={})
1006
+ {
1007
+ 'record1_map' => @record1_map,
1008
+ 'record1_id' => @record1_id
1009
+ }
1010
+ end
1011
+ end
1012
+
1013
+ # Autogenerated Schema for Record at com.flipp.content.Record2
1014
+ class Record2 < Deimos::SchemaClass::Record
1015
+
1016
+ ### Attribute Accessors ###
1017
+ # @return [String]
1018
+ attr_accessor :record2_id
1019
+
1020
+ # @override
1021
+ def initialize(record2_id: "")
1022
+ super
1023
+ self.record2_id = record2_id
1024
+ end
1025
+
1026
+ # @override
1027
+ def schema
1028
+ 'Record2'
1029
+ end
1030
+
1031
+ # @override
1032
+ def namespace
1033
+ 'com.flipp.content'
1034
+ end
1035
+
1036
+ # @override
1037
+ def as_json(_opts={})
1038
+ {
1039
+ 'record2_id' => @record2_id
1040
+ }
1041
+ end
1042
+ end
1043
+
1044
+ # Autogenerated Schema for Record at com.flipp.content.Record3
1045
+ class Record3 < Deimos::SchemaClass::Record
1046
+
1047
+ ### Attribute Accessors ###
1048
+ # @return [Float]
1049
+ attr_accessor :record3_id
1050
+
1051
+ # @override
1052
+ def initialize(record3_id: 0.0)
1053
+ super
1054
+ self.record3_id = record3_id
1055
+ end
1056
+
1057
+ # @override
1058
+ def schema
1059
+ 'Record3'
1060
+ end
1061
+
1062
+ # @override
1063
+ def namespace
1064
+ 'com.flipp.content'
1065
+ end
1066
+
1067
+ # @override
1068
+ def as_json(_opts={})
1069
+ {
1070
+ 'record3_id' => @record3_id
1071
+ }
1072
+ end
1073
+ end
1074
+
1075
+ # Autogenerated Schema for Record at com.flipp.content.Record4
1076
+ class Record4 < Deimos::SchemaClass::Record
1077
+
1078
+ ### Attribute Accessors ###
1079
+ # @return [Integer]
1080
+ attr_accessor :record4_id
1081
+
1082
+ # @override
1083
+ def initialize(record4_id: 0)
1084
+ super
1085
+ self.record4_id = record4_id
1086
+ end
1087
+
1088
+ # @override
1089
+ def schema
1090
+ 'Record4'
1091
+ end
1092
+
1093
+ # @override
1094
+ def namespace
1095
+ 'com.flipp.content'
1096
+ end
1097
+
1098
+ # @override
1099
+ def as_json(_opts={})
1100
+ {
1101
+ 'record4_id' => @record4_id
1102
+ }
1103
+ end
1104
+ end
1105
+
1106
+
1107
+ ### Attribute Readers ###
1108
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1109
+ attr_reader :test_union_type
1110
+
1111
+ ### Attribute Accessors ###
1112
+ # @return [String]
1113
+ attr_accessor :test_id
1114
+ # @return [nil, Integer]
1115
+ attr_accessor :test_long
1116
+
1117
+ ### Attribute Writers ###
1118
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1119
+ def test_union_type=(value)
1120
+ @test_union_type = initialize_test_union_type_type(value)
1121
+ end
1122
+
1123
+ # Helper method to determine which schema type to use for test_union_type
1124
+ # @param value [Hash, nil]
1125
+ # @return [Object, nil]
1126
+ def initialize_test_union_type_type(value)
1127
+ return nil if value.nil?
1128
+
1129
+ klass = [Record1, Record2, Record3, Record4].find do |candidate|
1130
+ fields = candidate.new.as_json.keys
1131
+ (value.keys - fields).empty?
1132
+ end
1133
+
1134
+ klass.initialize_from_value(value)
1135
+ end
1136
+
1137
+ # @override
1138
+ def initialize(test_id: "",
1139
+ test_long: nil,
1140
+ test_union_type: nil)
1141
+ super
1142
+ self.test_id = test_id
1143
+ self.test_long = test_long
1144
+ self.test_union_type = test_union_type
1145
+ end
1146
+
1147
+ # @override
1148
+ def schema
1149
+ 'MySchemaWithUnionType'
1150
+ end
1151
+
1152
+ # @override
1153
+ def namespace
1154
+ 'com.my-namespace'
1155
+ end
1156
+
1157
+ # @override
1158
+ def as_json(_opts={})
1159
+ {
1160
+ 'test_id' => @test_id,
1161
+ 'test_long' => @test_long,
1162
+ 'test_union_type' => @test_union_type&.as_json
1163
+ }
1164
+ end
1165
+ end
1166
+ end; end; end
1167
+
1168
+
967
1169
  spec/app/lib/schema_classes/schemas/com/my_namespace/my_schema_with_unique_id.rb:
968
1170
  # frozen_string_literal: true
969
1171
 
@@ -1008,6 +1008,208 @@ module Schemas; module MyNamespace
1008
1008
  end; end
1009
1009
 
1010
1010
 
1011
+ spec/app/lib/schema_classes/schemas/my_namespace/my_schema_with_union_type.rb:
1012
+ # frozen_string_literal: true
1013
+
1014
+ # This file is autogenerated by Deimos, Do NOT modify
1015
+ module Schemas; module MyNamespace
1016
+ ### Primary Schema Class ###
1017
+ # Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
1018
+ class MySchemaWithUnionType < Deimos::SchemaClass::Record
1019
+
1020
+ ### Secondary Schema Classes ###
1021
+ # Autogenerated Schema for Record at com.flipp.content.Record1
1022
+ class Record1 < Deimos::SchemaClass::Record
1023
+
1024
+ ### Attribute Accessors ###
1025
+ # @return [Hash<String, Integer>]
1026
+ attr_accessor :record1_map
1027
+ # @return [Integer]
1028
+ attr_accessor :record1_id
1029
+
1030
+ # @override
1031
+ def initialize(record1_map: {},
1032
+ record1_id: 0)
1033
+ super
1034
+ self.record1_map = record1_map
1035
+ self.record1_id = record1_id
1036
+ end
1037
+
1038
+ # @override
1039
+ def schema
1040
+ 'Record1'
1041
+ end
1042
+
1043
+ # @override
1044
+ def namespace
1045
+ 'com.flipp.content'
1046
+ end
1047
+
1048
+ # @override
1049
+ def as_json(_opts={})
1050
+ {
1051
+ 'record1_map' => @record1_map,
1052
+ 'record1_id' => @record1_id
1053
+ }
1054
+ end
1055
+ end
1056
+
1057
+ # Autogenerated Schema for Record at com.flipp.content.Record2
1058
+ class Record2 < Deimos::SchemaClass::Record
1059
+
1060
+ ### Attribute Accessors ###
1061
+ # @return [String]
1062
+ attr_accessor :record2_id
1063
+
1064
+ # @override
1065
+ def initialize(record2_id: "")
1066
+ super
1067
+ self.record2_id = record2_id
1068
+ end
1069
+
1070
+ # @override
1071
+ def schema
1072
+ 'Record2'
1073
+ end
1074
+
1075
+ # @override
1076
+ def namespace
1077
+ 'com.flipp.content'
1078
+ end
1079
+
1080
+ # @override
1081
+ def as_json(_opts={})
1082
+ {
1083
+ 'record2_id' => @record2_id
1084
+ }
1085
+ end
1086
+ end
1087
+
1088
+ # Autogenerated Schema for Record at com.flipp.content.Record3
1089
+ class Record3 < Deimos::SchemaClass::Record
1090
+
1091
+ ### Attribute Accessors ###
1092
+ # @return [Float]
1093
+ attr_accessor :record3_id
1094
+
1095
+ # @override
1096
+ def initialize(record3_id: 0.0)
1097
+ super
1098
+ self.record3_id = record3_id
1099
+ end
1100
+
1101
+ # @override
1102
+ def schema
1103
+ 'Record3'
1104
+ end
1105
+
1106
+ # @override
1107
+ def namespace
1108
+ 'com.flipp.content'
1109
+ end
1110
+
1111
+ # @override
1112
+ def as_json(_opts={})
1113
+ {
1114
+ 'record3_id' => @record3_id
1115
+ }
1116
+ end
1117
+ end
1118
+
1119
+ # Autogenerated Schema for Record at com.flipp.content.Record4
1120
+ class Record4 < Deimos::SchemaClass::Record
1121
+
1122
+ ### Attribute Accessors ###
1123
+ # @return [Integer]
1124
+ attr_accessor :record4_id
1125
+
1126
+ # @override
1127
+ def initialize(record4_id: 0)
1128
+ super
1129
+ self.record4_id = record4_id
1130
+ end
1131
+
1132
+ # @override
1133
+ def schema
1134
+ 'Record4'
1135
+ end
1136
+
1137
+ # @override
1138
+ def namespace
1139
+ 'com.flipp.content'
1140
+ end
1141
+
1142
+ # @override
1143
+ def as_json(_opts={})
1144
+ {
1145
+ 'record4_id' => @record4_id
1146
+ }
1147
+ end
1148
+ end
1149
+
1150
+
1151
+ ### Attribute Readers ###
1152
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1153
+ attr_reader :test_union_type
1154
+
1155
+ ### Attribute Accessors ###
1156
+ # @return [String]
1157
+ attr_accessor :test_id
1158
+ # @return [nil, Integer]
1159
+ attr_accessor :test_long
1160
+
1161
+ ### Attribute Writers ###
1162
+ # @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
1163
+ def test_union_type=(value)
1164
+ @test_union_type = initialize_test_union_type_type(value)
1165
+ end
1166
+
1167
+ # Helper method to determine which schema type to use for test_union_type
1168
+ # @param value [Hash, nil]
1169
+ # @return [Object, nil]
1170
+ def initialize_test_union_type_type(value)
1171
+ return nil if value.nil?
1172
+
1173
+ klass = [Record1, Record2, Record3, Record4].find do |candidate|
1174
+ fields = candidate.new.as_json.keys
1175
+ (value.keys - fields).empty?
1176
+ end
1177
+
1178
+ klass.initialize_from_value(value)
1179
+ end
1180
+
1181
+ # @override
1182
+ def initialize(test_id: "",
1183
+ test_long: nil,
1184
+ test_union_type: nil)
1185
+ super
1186
+ self.test_id = test_id
1187
+ self.test_long = test_long
1188
+ self.test_union_type = test_union_type
1189
+ end
1190
+
1191
+ # @override
1192
+ def schema
1193
+ 'MySchemaWithUnionType'
1194
+ end
1195
+
1196
+ # @override
1197
+ def namespace
1198
+ 'com.my-namespace'
1199
+ end
1200
+
1201
+ # @override
1202
+ def as_json(_opts={})
1203
+ {
1204
+ 'test_id' => @test_id,
1205
+ 'test_long' => @test_long,
1206
+ 'test_union_type' => @test_union_type&.as_json
1207
+ }
1208
+ end
1209
+ end
1210
+ end; end
1211
+
1212
+
1011
1213
  spec/app/lib/schema_classes/schemas/my_namespace/my_schema_with_unique_id.rb:
1012
1214
  # frozen_string_literal: true
1013
1215