avro-gen-ruby 0.1.0
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 +7 -0
- data/.github/workflows/ci.yml +34 -0
- data/.github/workflows/release.yml +31 -0
- data/.gitignore +6 -0
- data/.rspec +1 -0
- data/.rubocop.yml +100 -0
- data/Gemfile +5 -0
- data/LICENSE +21 -0
- data/README.md +61 -0
- data/Rakefile +11 -0
- data/avro-gen-ruby.gemspec +32 -0
- data/lib/avro_gen/avro_parser.rb +64 -0
- data/lib/avro_gen/configuration.rb +60 -0
- data/lib/avro_gen/errors.rb +6 -0
- data/lib/avro_gen/generator/templates/schema_class.rb.tt +8 -0
- data/lib/avro_gen/generator/templates/schema_enum.rb.tt +13 -0
- data/lib/avro_gen/generator/templates/schema_record.rb.tt +102 -0
- data/lib/avro_gen/generator.rb +375 -0
- data/lib/avro_gen/railtie.rb +12 -0
- data/lib/avro_gen/schema_class/base.rb +62 -0
- data/lib/avro_gen/schema_class/enum.rb +48 -0
- data/lib/avro_gen/schema_class/record.rb +108 -0
- data/lib/avro_gen/schema_class.rb +62 -0
- data/lib/avro_gen/schema_field.rb +26 -0
- data/lib/avro_gen/schema_validator.rb +80 -0
- data/lib/avro_gen/upgrader.rb +43 -0
- data/lib/avro_gen/version.rb +5 -0
- data/lib/avro_gen.rb +18 -0
- data/lib/tasks/avro.rake +18 -0
- data/regenerate_test_schema_classes.rb +32 -0
- data/spec/generator_spec.rb +92 -0
- data/spec/my_schema_spec.rb +18 -0
- data/spec/my_schema_with_circular_reference_spec.rb +97 -0
- data/spec/my_schema_with_complex_types_spec.rb +235 -0
- data/spec/schema_validator_spec.rb +42 -0
- data/spec/schemas/com/my-namespace/Generated.avsc +77 -0
- data/spec/schemas/com/my-namespace/MyNestedSchema.avsc +62 -0
- data/spec/schemas/com/my-namespace/MySchema.avsc +18 -0
- data/spec/schemas/com/my-namespace/MySchemaCompound_key.avsc +18 -0
- data/spec/schemas/com/my-namespace/MySchemaId_key.avsc +12 -0
- data/spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc +18 -0
- data/spec/schemas/com/my-namespace/MySchemaWithCircularReference.avsc +39 -0
- data/spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc +120 -0
- data/spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc +33 -0
- data/spec/schemas/com/my-namespace/MySchemaWithId.avsc +28 -0
- data/spec/schemas/com/my-namespace/MySchemaWithTitle.avsc +22 -0
- data/spec/schemas/com/my-namespace/MySchemaWithUnionType.avsc +91 -0
- data/spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc +32 -0
- data/spec/schemas/com/my-namespace/MySchema_key.avsc +13 -0
- data/spec/schemas/com/my-namespace/Wibble.avsc +43 -0
- data/spec/schemas/com/my-namespace/Widget.avsc +27 -0
- data/spec/schemas/com/my-namespace/WidgetTheSecond.avsc +27 -0
- data/spec/schemas/com/my-namespace/WidgetTheThird.avsc +27 -0
- data/spec/schemas/com/my-namespace/my-suborg/MyLongNamespaceSchema.avsc +18 -0
- data/spec/schemas/com/my-namespace/request/CreateTopic.avsc +11 -0
- data/spec/schemas/com/my-namespace/request/Index.avsc +11 -0
- data/spec/schemas/com/my-namespace/request/UpdateRequest.avsc +11 -0
- data/spec/schemas/com/my-namespace/response/CreateTopic.avsc +11 -0
- data/spec/schemas/com/my-namespace/response/Index.avsc +11 -0
- data/spec/schemas/com/my-namespace/response/UpdateResponse.avsc +11 -0
- data/spec/schemas/my_namespace/generated.rb +164 -0
- data/spec/schemas/my_namespace/my_long_namespace_schema.rb +49 -0
- data/spec/schemas/my_namespace/my_nested_schema.rb +126 -0
- data/spec/schemas/my_namespace/my_schema.rb +62 -0
- data/spec/schemas/my_namespace/my_schema_compound_key.rb +42 -0
- data/spec/schemas/my_namespace/my_schema_id_key.rb +37 -0
- data/spec/schemas/my_namespace/my_schema_key.rb +37 -0
- data/spec/schemas/my_namespace/my_schema_with_boolean.rb +42 -0
- data/spec/schemas/my_namespace/my_schema_with_circular_reference.rb +84 -0
- data/spec/schemas/my_namespace/my_schema_with_complex_type.rb +241 -0
- data/spec/schemas/my_namespace/my_schema_with_date_time.rb +57 -0
- data/spec/schemas/my_namespace/my_schema_with_id.rb +52 -0
- data/spec/schemas/my_namespace/my_schema_with_title.rb +47 -0
- data/spec/schemas/my_namespace/my_schema_with_union_type.rb +205 -0
- data/spec/schemas/my_namespace/my_schema_with_unique_id.rb +57 -0
- data/spec/schemas/my_namespace/request/create_topic.rb +37 -0
- data/spec/schemas/my_namespace/request/index.rb +37 -0
- data/spec/schemas/my_namespace/request/update_request.rb +37 -0
- data/spec/schemas/my_namespace/response/create_topic.rb +37 -0
- data/spec/schemas/my_namespace/response/index.rb +37 -0
- data/spec/schemas/my_namespace/response/update_response.rb +37 -0
- data/spec/schemas/my_namespace/wibble.rb +77 -0
- data/spec/schemas/my_namespace/widget.rb +57 -0
- data/spec/schemas/my_namespace/widget_the_second.rb +57 -0
- data/spec/schemas/my_namespace/widget_the_third.rb +57 -0
- data/spec/snapshots/consumers-no-nest.snap +1740 -0
- data/spec/snapshots/consumers.snap +1720 -0
- data/spec/snapshots/my_nested_schema.snap +121 -0
- data/spec/snapshots/my_schema_with_boolean.snap +44 -0
- data/spec/snapshots/my_schema_with_circular_reference.snap +81 -0
- data/spec/snapshots/my_schema_with_complex_type.snap +236 -0
- data/spec/snapshots/my_schema_with_date_time.snap +59 -0
- data/spec/snapshots/my_schema_with_union_type.snap +207 -0
- data/spec/snapshots/namespace_folders.snap +1800 -0
- data/spec/snapshots/namespace_map.snap +1800 -0
- data/spec/spec_helper.rb +23 -0
- metadata +265 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.MySchemaWithUnionType
|
|
7
|
+
class MySchemaWithUnionType < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Secondary Schema Classes ###
|
|
10
|
+
# Autogenerated Schema for Record at com.flipp.content.Record1
|
|
11
|
+
class Record1 < AvroGen::SchemaClass::Record
|
|
12
|
+
|
|
13
|
+
### Attribute Accessors ###
|
|
14
|
+
# @return [Hash<String, Integer>]
|
|
15
|
+
attr_accessor :record1_map
|
|
16
|
+
# @return [Integer]
|
|
17
|
+
attr_accessor :record1_id
|
|
18
|
+
|
|
19
|
+
# @override
|
|
20
|
+
def initialize(_from_message: false, record1_map: {},
|
|
21
|
+
record1_id: 0)
|
|
22
|
+
@_from_message = _from_message
|
|
23
|
+
super
|
|
24
|
+
self.record1_map = record1_map
|
|
25
|
+
self.record1_id = record1_id
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @override
|
|
29
|
+
def schema
|
|
30
|
+
'Record1'
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @override
|
|
34
|
+
def namespace
|
|
35
|
+
'com.flipp.content'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @override
|
|
39
|
+
def as_json(_opts={})
|
|
40
|
+
{
|
|
41
|
+
'record1_map' => @record1_map,
|
|
42
|
+
'record1_id' => @record1_id
|
|
43
|
+
}
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Autogenerated Schema for Record at com.flipp.content.Record2
|
|
48
|
+
class Record2 < AvroGen::SchemaClass::Record
|
|
49
|
+
|
|
50
|
+
### Attribute Accessors ###
|
|
51
|
+
# @return [String]
|
|
52
|
+
attr_accessor :record2_id
|
|
53
|
+
|
|
54
|
+
# @override
|
|
55
|
+
def initialize(_from_message: false, record2_id: "")
|
|
56
|
+
@_from_message = _from_message
|
|
57
|
+
super
|
|
58
|
+
self.record2_id = record2_id
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# @override
|
|
62
|
+
def schema
|
|
63
|
+
'Record2'
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# @override
|
|
67
|
+
def namespace
|
|
68
|
+
'com.flipp.content'
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @override
|
|
72
|
+
def as_json(_opts={})
|
|
73
|
+
{
|
|
74
|
+
'record2_id' => @record2_id
|
|
75
|
+
}
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Autogenerated Schema for Record at com.flipp.content.Record3
|
|
80
|
+
class Record3 < AvroGen::SchemaClass::Record
|
|
81
|
+
|
|
82
|
+
### Attribute Accessors ###
|
|
83
|
+
# @return [Float]
|
|
84
|
+
attr_accessor :record3_id
|
|
85
|
+
|
|
86
|
+
# @override
|
|
87
|
+
def initialize(_from_message: false, record3_id: 0.0)
|
|
88
|
+
@_from_message = _from_message
|
|
89
|
+
super
|
|
90
|
+
self.record3_id = record3_id
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# @override
|
|
94
|
+
def schema
|
|
95
|
+
'Record3'
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# @override
|
|
99
|
+
def namespace
|
|
100
|
+
'com.flipp.content'
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @override
|
|
104
|
+
def as_json(_opts={})
|
|
105
|
+
{
|
|
106
|
+
'record3_id' => @record3_id
|
|
107
|
+
}
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Autogenerated Schema for Record at com.flipp.content.Record4
|
|
112
|
+
class Record4 < AvroGen::SchemaClass::Record
|
|
113
|
+
|
|
114
|
+
### Attribute Accessors ###
|
|
115
|
+
# @return [Integer]
|
|
116
|
+
attr_accessor :record4_id
|
|
117
|
+
|
|
118
|
+
# @override
|
|
119
|
+
def initialize(_from_message: false, record4_id: 0)
|
|
120
|
+
@_from_message = _from_message
|
|
121
|
+
super
|
|
122
|
+
self.record4_id = record4_id
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# @override
|
|
126
|
+
def schema
|
|
127
|
+
'Record4'
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# @override
|
|
131
|
+
def namespace
|
|
132
|
+
'com.flipp.content'
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# @override
|
|
136
|
+
def as_json(_opts={})
|
|
137
|
+
{
|
|
138
|
+
'record4_id' => @record4_id
|
|
139
|
+
}
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
### Attribute Readers ###
|
|
145
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
|
146
|
+
attr_reader :test_union_type
|
|
147
|
+
|
|
148
|
+
### Attribute Accessors ###
|
|
149
|
+
# @return [String]
|
|
150
|
+
attr_accessor :test_id
|
|
151
|
+
# @return [nil, Integer]
|
|
152
|
+
attr_accessor :test_long
|
|
153
|
+
|
|
154
|
+
### Attribute Writers ###
|
|
155
|
+
# @return [nil, Record1, Record2, Record3, Record4, Integer, Array<String>]
|
|
156
|
+
def test_union_type=(value)
|
|
157
|
+
@test_union_type = initialize_test_union_type_type(value, from_message: self._from_message)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Helper method to determine which schema type to use for test_union_type
|
|
161
|
+
# @param value [Hash, nil]
|
|
162
|
+
# @param from_message [Boolean] whether this was initialized from a real Avro message
|
|
163
|
+
# @return [Object, nil]
|
|
164
|
+
def initialize_test_union_type_type(value, from_message: false)
|
|
165
|
+
return nil if value.nil?
|
|
166
|
+
|
|
167
|
+
klass = [Record1, Record2, Record3, Record4].find do |candidate|
|
|
168
|
+
fields = candidate.new.as_json.keys
|
|
169
|
+
(value.keys - fields).empty?
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
klass.initialize_from_value(value, from_message: self._from_message)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# @override
|
|
176
|
+
def initialize(_from_message: false, test_id: "",
|
|
177
|
+
test_long: nil,
|
|
178
|
+
test_union_type: nil)
|
|
179
|
+
@_from_message = _from_message
|
|
180
|
+
super
|
|
181
|
+
self.test_id = test_id
|
|
182
|
+
self.test_long = test_long
|
|
183
|
+
self.test_union_type = test_union_type
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
# @override
|
|
187
|
+
def schema
|
|
188
|
+
'MySchemaWithUnionType'
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# @override
|
|
192
|
+
def namespace
|
|
193
|
+
'com.my-namespace'
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# @override
|
|
197
|
+
def as_json(_opts={})
|
|
198
|
+
{
|
|
199
|
+
'test_id' => @test_id,
|
|
200
|
+
'test_long' => @test_long,
|
|
201
|
+
'test_union_type' => @test_union_type&.as_json
|
|
202
|
+
}
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end; end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.MySchemaWithUniqueId
|
|
7
|
+
class MySchemaWithUniqueId < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
# @return [String]
|
|
13
|
+
attr_accessor :test_id
|
|
14
|
+
# @return [Integer]
|
|
15
|
+
attr_accessor :some_int
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :message_id
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :timestamp
|
|
20
|
+
|
|
21
|
+
# @override
|
|
22
|
+
def initialize(_from_message: false, id: nil,
|
|
23
|
+
test_id: nil,
|
|
24
|
+
some_int: nil,
|
|
25
|
+
message_id: nil,
|
|
26
|
+
timestamp: nil)
|
|
27
|
+
@_from_message = _from_message
|
|
28
|
+
super
|
|
29
|
+
self.id = id
|
|
30
|
+
self.test_id = test_id
|
|
31
|
+
self.some_int = some_int
|
|
32
|
+
self.message_id = message_id
|
|
33
|
+
self.timestamp = timestamp
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @override
|
|
37
|
+
def schema
|
|
38
|
+
'MySchemaWithUniqueId'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @override
|
|
42
|
+
def namespace
|
|
43
|
+
'com.my-namespace'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @override
|
|
47
|
+
def as_json(_opts={})
|
|
48
|
+
{
|
|
49
|
+
'id' => @id,
|
|
50
|
+
'test_id' => @test_id,
|
|
51
|
+
'some_int' => @some_int,
|
|
52
|
+
'message_id' => @message_id,
|
|
53
|
+
'timestamp' => @timestamp
|
|
54
|
+
}
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Request
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.request.CreateTopic
|
|
7
|
+
class CreateTopic < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :request_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, request_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.request_id = request_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'CreateTopic'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.request'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'request_id' => @request_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Request
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.request.Index
|
|
7
|
+
class Index < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :request_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, request_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.request_id = request_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'Index'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.request'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'request_id' => @request_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Request
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.request.UpdateRequest
|
|
7
|
+
class UpdateRequest < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :update_request_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, update_request_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.update_request_id = update_request_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'UpdateRequest'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.request'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'update_request_id' => @update_request_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Response
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.response.CreateTopic
|
|
7
|
+
class CreateTopic < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :response_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, response_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.response_id = response_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'CreateTopic'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.response'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'response_id' => @response_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Response
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.response.Index
|
|
7
|
+
class Index < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :response_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, response_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.response_id = response_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'Index'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.response'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'response_id' => @response_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace; module Response
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.response.UpdateResponse
|
|
7
|
+
class UpdateResponse < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [String]
|
|
11
|
+
attr_accessor :update_response_id
|
|
12
|
+
|
|
13
|
+
# @override
|
|
14
|
+
def initialize(_from_message: false, update_response_id: nil)
|
|
15
|
+
@_from_message = _from_message
|
|
16
|
+
super
|
|
17
|
+
self.update_response_id = update_response_id
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @override
|
|
21
|
+
def schema
|
|
22
|
+
'UpdateResponse'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @override
|
|
26
|
+
def namespace
|
|
27
|
+
'com.my-namespace.response'
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @override
|
|
31
|
+
def as_json(_opts={})
|
|
32
|
+
{
|
|
33
|
+
'update_response_id' => @update_response_id
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; end; end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.Wibble
|
|
7
|
+
class Wibble < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
attr_accessor :wibble_id
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :name
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_accessor :floop
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
attr_accessor :birthday_int
|
|
20
|
+
# @return [Integer]
|
|
21
|
+
attr_accessor :birthday_long
|
|
22
|
+
# @return [nil, Integer]
|
|
23
|
+
attr_accessor :birthday_optional
|
|
24
|
+
# @return [Integer]
|
|
25
|
+
attr_accessor :updated_at
|
|
26
|
+
# @return [Integer]
|
|
27
|
+
attr_accessor :created_at
|
|
28
|
+
|
|
29
|
+
# @override
|
|
30
|
+
def initialize(_from_message: false, id: nil,
|
|
31
|
+
wibble_id: nil,
|
|
32
|
+
name: nil,
|
|
33
|
+
floop: nil,
|
|
34
|
+
birthday_int: nil,
|
|
35
|
+
birthday_long: nil,
|
|
36
|
+
birthday_optional: nil,
|
|
37
|
+
updated_at: nil,
|
|
38
|
+
created_at: nil)
|
|
39
|
+
@_from_message = _from_message
|
|
40
|
+
super
|
|
41
|
+
self.id = id
|
|
42
|
+
self.wibble_id = wibble_id
|
|
43
|
+
self.name = name
|
|
44
|
+
self.floop = floop
|
|
45
|
+
self.birthday_int = birthday_int
|
|
46
|
+
self.birthday_long = birthday_long
|
|
47
|
+
self.birthday_optional = birthday_optional
|
|
48
|
+
self.updated_at = updated_at
|
|
49
|
+
self.created_at = created_at
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# @override
|
|
53
|
+
def schema
|
|
54
|
+
'Wibble'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# @override
|
|
58
|
+
def namespace
|
|
59
|
+
'com.my-namespace'
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @override
|
|
63
|
+
def as_json(_opts={})
|
|
64
|
+
{
|
|
65
|
+
'id' => @id,
|
|
66
|
+
'wibble_id' => @wibble_id,
|
|
67
|
+
'name' => @name,
|
|
68
|
+
'floop' => @floop,
|
|
69
|
+
'birthday_int' => @birthday_int,
|
|
70
|
+
'birthday_long' => @birthday_long,
|
|
71
|
+
'birthday_optional' => @birthday_optional,
|
|
72
|
+
'updated_at' => @updated_at,
|
|
73
|
+
'created_at' => @created_at
|
|
74
|
+
}
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end; end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.Widget
|
|
7
|
+
class Widget < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
attr_accessor :widget_id
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :name
|
|
16
|
+
# @return [Integer]
|
|
17
|
+
attr_accessor :updated_at
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
attr_accessor :created_at
|
|
20
|
+
|
|
21
|
+
# @override
|
|
22
|
+
def initialize(_from_message: false, id: nil,
|
|
23
|
+
widget_id: nil,
|
|
24
|
+
name: nil,
|
|
25
|
+
updated_at: nil,
|
|
26
|
+
created_at: nil)
|
|
27
|
+
@_from_message = _from_message
|
|
28
|
+
super
|
|
29
|
+
self.id = id
|
|
30
|
+
self.widget_id = widget_id
|
|
31
|
+
self.name = name
|
|
32
|
+
self.updated_at = updated_at
|
|
33
|
+
self.created_at = created_at
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @override
|
|
37
|
+
def schema
|
|
38
|
+
'Widget'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @override
|
|
42
|
+
def namespace
|
|
43
|
+
'com.my-namespace'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @override
|
|
47
|
+
def as_json(_opts={})
|
|
48
|
+
{
|
|
49
|
+
'id' => @id,
|
|
50
|
+
'widget_id' => @widget_id,
|
|
51
|
+
'name' => @name,
|
|
52
|
+
'updated_at' => @updated_at,
|
|
53
|
+
'created_at' => @created_at
|
|
54
|
+
}
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end; end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# This file is autogenerated by AvroGen, Do NOT modify
|
|
4
|
+
module Schemas; module MyNamespace
|
|
5
|
+
### Primary Schema Class ###
|
|
6
|
+
# Autogenerated Schema for Record at com.my-namespace.WidgetTheSecond
|
|
7
|
+
class WidgetTheSecond < AvroGen::SchemaClass::Record
|
|
8
|
+
|
|
9
|
+
### Attribute Accessors ###
|
|
10
|
+
# @return [Integer]
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
# @return [Integer]
|
|
13
|
+
attr_accessor :widget_id
|
|
14
|
+
# @return [String]
|
|
15
|
+
attr_accessor :model_id
|
|
16
|
+
# @return [Integer]
|
|
17
|
+
attr_accessor :updated_at
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
attr_accessor :created_at
|
|
20
|
+
|
|
21
|
+
# @override
|
|
22
|
+
def initialize(_from_message: false, id: nil,
|
|
23
|
+
widget_id: nil,
|
|
24
|
+
model_id: nil,
|
|
25
|
+
updated_at: nil,
|
|
26
|
+
created_at: nil)
|
|
27
|
+
@_from_message = _from_message
|
|
28
|
+
super
|
|
29
|
+
self.id = id
|
|
30
|
+
self.widget_id = widget_id
|
|
31
|
+
self.model_id = model_id
|
|
32
|
+
self.updated_at = updated_at
|
|
33
|
+
self.created_at = created_at
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @override
|
|
37
|
+
def schema
|
|
38
|
+
'WidgetTheSecond'
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @override
|
|
42
|
+
def namespace
|
|
43
|
+
'com.my-namespace'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @override
|
|
47
|
+
def as_json(_opts={})
|
|
48
|
+
{
|
|
49
|
+
'id' => @id,
|
|
50
|
+
'widget_id' => @widget_id,
|
|
51
|
+
'model_id' => @model_id,
|
|
52
|
+
'updated_at' => @updated_at,
|
|
53
|
+
'created_at' => @created_at
|
|
54
|
+
}
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end; end
|