deimos-ruby 1.10.2 → 1.12.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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/Gemfile.lock +8 -8
  4. data/README.md +150 -16
  5. data/deimos-ruby.gemspec +1 -1
  6. data/docs/CONFIGURATION.md +4 -0
  7. data/lib/deimos/active_record_consume/batch_consumption.rb +1 -1
  8. data/lib/deimos/active_record_consume/message_consumption.rb +4 -3
  9. data/lib/deimos/active_record_consumer.rb +2 -2
  10. data/lib/deimos/active_record_producer.rb +3 -0
  11. data/lib/deimos/config/configuration.rb +29 -0
  12. data/lib/deimos/consume/batch_consumption.rb +2 -2
  13. data/lib/deimos/consume/message_consumption.rb +2 -2
  14. data/lib/deimos/consumer.rb +10 -0
  15. data/lib/deimos/producer.rb +4 -3
  16. data/lib/deimos/schema_backends/avro_base.rb +64 -1
  17. data/lib/deimos/schema_backends/avro_schema_registry.rb +1 -1
  18. data/lib/deimos/schema_backends/base.rb +18 -2
  19. data/lib/deimos/schema_class/base.rb +67 -0
  20. data/lib/deimos/schema_class/enum.rb +24 -0
  21. data/lib/deimos/schema_class/record.rb +59 -0
  22. data/lib/deimos/shared_config.rb +5 -0
  23. data/lib/deimos/test_helpers.rb +70 -17
  24. data/lib/deimos/utils/schema_class.rb +29 -0
  25. data/lib/deimos/version.rb +1 -1
  26. data/lib/deimos.rb +3 -0
  27. data/lib/generators/deimos/schema_class/templates/schema_class.rb.tt +15 -0
  28. data/lib/generators/deimos/schema_class/templates/schema_enum.rb.tt +21 -0
  29. data/lib/generators/deimos/schema_class/templates/schema_record.rb.tt +65 -0
  30. data/lib/generators/deimos/schema_class_generator.rb +247 -0
  31. data/lib/tasks/deimos.rake +8 -0
  32. data/spec/active_record_batch_consumer_spec.rb +120 -110
  33. data/spec/active_record_consumer_spec.rb +97 -88
  34. data/spec/active_record_producer_spec.rb +38 -27
  35. data/spec/batch_consumer_spec.rb +37 -28
  36. data/spec/config/configuration_spec.rb +10 -3
  37. data/spec/consumer_spec.rb +94 -83
  38. data/spec/generators/active_record_generator_spec.rb +1 -0
  39. data/spec/generators/schema_class/my_schema_with_complex_types_spec.rb +206 -0
  40. data/spec/generators/schema_class_generator_spec.rb +186 -0
  41. data/spec/producer_spec.rb +110 -0
  42. data/spec/schema_classes/generated.rb +156 -0
  43. data/spec/schema_classes/my_nested_schema.rb +114 -0
  44. data/spec/schema_classes/my_schema.rb +53 -0
  45. data/spec/schema_classes/my_schema_key.rb +35 -0
  46. data/spec/schema_classes/my_schema_with_complex_types.rb +172 -0
  47. data/spec/schemas/com/my-namespace/Generated.avsc +6 -0
  48. data/spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc +95 -0
  49. data/spec/spec_helper.rb +6 -1
  50. metadata +28 -4
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is autogenerated by Deimos, Do NOT modify
4
+ module Schemas
5
+ ### Secondary Schema Classes ###
6
+ # Autogenerated Schema for Record at com.my-namespace.MyNestedRecord
7
+ class MyNestedRecord < Deimos::SchemaClass::Record
8
+ ### Attribute Accessors ###
9
+ # @param value [Integer]
10
+ attr_accessor :some_int
11
+ # @param value [Float]
12
+ attr_accessor :some_float
13
+ # @param value [String]
14
+ attr_accessor :some_string
15
+ # @param value [nil, Integer]
16
+ attr_accessor :some_optional_int
17
+
18
+ # @override
19
+ def initialize(some_int: nil,
20
+ some_float: nil,
21
+ some_string: nil,
22
+ some_optional_int: nil)
23
+ super
24
+ self.some_int = some_int
25
+ self.some_float = some_float
26
+ self.some_string = some_string
27
+ self.some_optional_int = some_optional_int
28
+ end
29
+
30
+ # @override
31
+ def schema
32
+ 'MyNestedRecord'
33
+ end
34
+
35
+ # @override
36
+ def namespace
37
+ 'com.my-namespace'
38
+ end
39
+
40
+ # @override
41
+ def to_h
42
+ {
43
+ 'some_int' => @some_int,
44
+ 'some_float' => @some_float,
45
+ 'some_string' => @some_string,
46
+ 'some_optional_int' => @some_optional_int
47
+ }
48
+ end
49
+ end
50
+
51
+ ### Primary Schema Class ###
52
+ # Autogenerated Schema for Record at com.my-namespace.MyNestedSchema
53
+ class MyNestedSchema < Deimos::SchemaClass::Record
54
+ ### Attribute Readers ###
55
+ # @return [MyNestedRecord]
56
+ attr_reader :some_nested_record
57
+ # @return [nil, MyNestedRecord]
58
+ attr_reader :some_optional_record
59
+
60
+ ### Attribute Accessors ###
61
+ # @param value [String]
62
+ attr_accessor :test_id
63
+ # @param value [Float]
64
+ attr_accessor :test_float
65
+ # @param values [Array<String>]
66
+ attr_accessor :test_array
67
+
68
+ ### Attribute Writers ###
69
+ # @param value [MyNestedRecord]
70
+ def some_nested_record=(value)
71
+ @some_nested_record = MyNestedRecord.initialize_from_value(value)
72
+ end
73
+
74
+ # @param value [nil, MyNestedRecord]
75
+ def some_optional_record=(value)
76
+ @some_optional_record = MyNestedRecord.initialize_from_value(value)
77
+ end
78
+
79
+ # @override
80
+ def initialize(test_id: nil,
81
+ test_float: nil,
82
+ test_array: nil,
83
+ some_nested_record: nil,
84
+ some_optional_record: nil)
85
+ super
86
+ self.test_id = test_id
87
+ self.test_float = test_float
88
+ self.test_array = test_array
89
+ self.some_nested_record = some_nested_record
90
+ self.some_optional_record = some_optional_record
91
+ end
92
+
93
+ # @override
94
+ def schema
95
+ 'MyNestedSchema'
96
+ end
97
+
98
+ # @override
99
+ def namespace
100
+ 'com.my-namespace'
101
+ end
102
+
103
+ # @override
104
+ def to_h
105
+ {
106
+ 'test_id' => @test_id,
107
+ 'test_float' => @test_float,
108
+ 'test_array' => @test_array,
109
+ 'some_nested_record' => @some_nested_record&.to_h,
110
+ 'some_optional_record' => @some_optional_record&.to_h
111
+ }
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is autogenerated by Deimos, Do NOT modify
4
+ module Schemas
5
+ ### Primary Schema Class ###
6
+ # Autogenerated Schema for Record at com.my-namespace.MySchema
7
+ class MySchema < Deimos::SchemaClass::Record
8
+ ### Attribute Readers ###
9
+ # @return [MySchemaKey]
10
+ attr_reader :payload_key
11
+
12
+ ### Attribute Accessors ###
13
+ # @param value [String]
14
+ attr_accessor :test_id
15
+ # @param value [Integer]
16
+ attr_accessor :some_int
17
+
18
+ ### Attribute Writers ###
19
+ # @param value [MySchemaKey]
20
+ def payload_key=(value)
21
+ @payload_key = MySchemaKey.initialize_from_value(value)
22
+ end
23
+
24
+ # @override
25
+ def initialize(test_id: nil,
26
+ some_int: nil,
27
+ payload_key: nil)
28
+ super
29
+ self.test_id = test_id
30
+ self.some_int = some_int
31
+ self.payload_key = payload_key
32
+ end
33
+
34
+ # @override
35
+ def schema
36
+ 'MySchema'
37
+ end
38
+
39
+ # @override
40
+ def namespace
41
+ 'com.my-namespace'
42
+ end
43
+
44
+ # @override
45
+ def to_h
46
+ {
47
+ 'test_id' => @test_id,
48
+ 'some_int' => @some_int,
49
+ 'payload_key' => @payload_key&.to_h
50
+ }
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is autogenerated by Deimos, Do NOT modify
4
+ module Schemas
5
+ ### Primary Schema Class ###
6
+ # Autogenerated Schema for Record at com.my-namespace.MySchema-key
7
+ class MySchemaKey < Deimos::SchemaClass::Record
8
+ ### Attribute Accessors ###
9
+ # @param value [String]
10
+ attr_accessor :test_id
11
+
12
+ # @override
13
+ def initialize(test_id: nil)
14
+ super
15
+ self.test_id = test_id
16
+ end
17
+
18
+ # @override
19
+ def schema
20
+ 'MySchema-key'
21
+ end
22
+
23
+ # @override
24
+ def namespace
25
+ 'com.my-namespace'
26
+ end
27
+
28
+ # @override
29
+ def to_h
30
+ {
31
+ 'test_id' => @test_id
32
+ }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,172 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is autogenerated by Deimos, Do NOT modify
4
+ module Schemas
5
+ ### Secondary Schema Classes ###
6
+ # Autogenerated Schema for Record at com.my-namespace.ARecord
7
+ class ARecord < Deimos::SchemaClass::Record
8
+ ### Attribute Accessors ###
9
+ # @param value [String]
10
+ attr_accessor :a_record_field
11
+
12
+ # @override
13
+ def initialize(a_record_field: nil)
14
+ super
15
+ self.a_record_field = a_record_field
16
+ end
17
+
18
+ # @override
19
+ def schema
20
+ 'ARecord'
21
+ end
22
+
23
+ # @override
24
+ def namespace
25
+ 'com.my-namespace'
26
+ end
27
+
28
+ # @override
29
+ def to_h
30
+ {
31
+ 'a_record_field' => @a_record_field
32
+ }
33
+ end
34
+ end
35
+
36
+ # Autogenerated Schema for Enum at com.my-namespace.AnEnum
37
+ class AnEnum < Deimos::SchemaClass::Enum
38
+ # @return ['sym1', 'sym2']
39
+ attr_accessor :an_enum
40
+
41
+ # :nodoc:
42
+ def initialize(an_enum)
43
+ super
44
+ self.an_enum = an_enum
45
+ end
46
+
47
+ # @override
48
+ def symbols
49
+ %w(sym1 sym2)
50
+ end
51
+
52
+ # @override
53
+ def to_h
54
+ @an_enum
55
+ end
56
+ end
57
+
58
+ ### Primary Schema Class ###
59
+ # Autogenerated Schema for Record at com.my-namespace.MySchemaWithComplexTypes
60
+ class MySchemaWithComplexTypes < Deimos::SchemaClass::Record
61
+ ### Attribute Readers ###
62
+ # @return [ARecord]
63
+ attr_reader :some_record
64
+ # @return [nil, ARecord]
65
+ attr_reader :some_optional_record
66
+ # @return [Array<ARecord>]
67
+ attr_reader :some_record_array
68
+ # @return [Hash<String, ARecord>]
69
+ attr_reader :some_record_map
70
+ # @return [Array<AnEnum>]
71
+ attr_reader :some_enum_array
72
+
73
+ ### Attribute Accessors ###
74
+ # @param value [String]
75
+ attr_accessor :test_id
76
+ # @param value [Float]
77
+ attr_accessor :test_float
78
+ # @param values [Array<String>]
79
+ attr_accessor :test_string_array
80
+ # @param values [Array<Integer>]
81
+ attr_accessor :test_int_array
82
+ # @param value [Integer, nil]
83
+ attr_accessor :test_optional_int
84
+ # @param values [Hash<String, Integer>]
85
+ attr_accessor :some_integer_map
86
+
87
+ ### Attribute Writers ###
88
+ # @param value [ARecord]
89
+ def some_record=(value)
90
+ @some_record = ARecord.initialize_from_value(value)
91
+ end
92
+
93
+ # @param value [nil, ARecord]
94
+ def some_optional_record=(value)
95
+ @some_optional_record = ARecord.initialize_from_value(value)
96
+ end
97
+
98
+ # @param values [Array<ARecord>]
99
+ def some_record_array=(values)
100
+ @some_record_array = values.map do |value|
101
+ ARecord.initialize_from_value(value)
102
+ end
103
+ end
104
+
105
+ # @param values [Hash<String, ARecord>]
106
+ def some_record_map=(values)
107
+ @some_record_map = values.transform_values do |value|
108
+ ARecord.initialize_from_value(value)
109
+ end
110
+ end
111
+
112
+ # @param values [Array<AnEnum>]
113
+ def some_enum_array=(values)
114
+ @some_enum_array = values.map do |value|
115
+ AnEnum.initialize_from_value(value)
116
+ end
117
+ end
118
+
119
+ # @override
120
+ def initialize(test_id: nil,
121
+ test_float: nil,
122
+ test_string_array: ["test"],
123
+ test_int_array: [123],
124
+ test_optional_int: 123,
125
+ some_integer_map: {"abc"=>123},
126
+ some_record: {"a_record_field"=>"Test String"},
127
+ some_optional_record: nil,
128
+ some_record_array: nil,
129
+ some_record_map: nil,
130
+ some_enum_array: nil)
131
+ super
132
+ self.test_id = test_id
133
+ self.test_float = test_float
134
+ self.test_string_array = test_string_array
135
+ self.test_int_array = test_int_array
136
+ self.test_optional_int = test_optional_int
137
+ self.some_integer_map = some_integer_map
138
+ self.some_record = some_record
139
+ self.some_optional_record = some_optional_record
140
+ self.some_record_array = some_record_array
141
+ self.some_record_map = some_record_map
142
+ self.some_enum_array = some_enum_array
143
+ end
144
+
145
+ # @override
146
+ def schema
147
+ 'MySchemaWithComplexTypes'
148
+ end
149
+
150
+ # @override
151
+ def namespace
152
+ 'com.my-namespace'
153
+ end
154
+
155
+ # @override
156
+ def to_h
157
+ {
158
+ 'test_id' => @test_id,
159
+ 'test_float' => @test_float,
160
+ 'test_string_array' => @test_string_array,
161
+ 'test_int_array' => @test_int_array,
162
+ 'test_optional_int' => @test_optional_int,
163
+ 'some_integer_map' => @some_integer_map,
164
+ 'some_record' => @some_record&.to_h,
165
+ 'some_optional_record' => @some_optional_record&.to_h,
166
+ 'some_record_array' => @some_record_array.map { |v| v&.to_h },
167
+ 'some_record_map' => @some_record_map.transform_values { |v| v&.to_h },
168
+ 'some_enum_array' => @some_enum_array.map { |v| v&.to_h }
169
+ }
170
+ end
171
+ end
172
+ end
@@ -24,6 +24,12 @@
24
24
  "name": "a_double",
25
25
  "type": "double"
26
26
  },
27
+ {
28
+ "name": "an_optional_int",
29
+ "type": [ "null", "int" ],
30
+ "doc": "an optional int",
31
+ "default": null
32
+ },
27
33
  {
28
34
  "name": "an_enum",
29
35
  "type": {
@@ -0,0 +1,95 @@
1
+ {
2
+ "namespace": "com.my-namespace",
3
+ "name": "MySchemaWithComplexTypes",
4
+ "type": "record",
5
+ "doc": "Test schema",
6
+ "fields": [
7
+ {
8
+ "name": "test_id",
9
+ "type": "string",
10
+ "doc": "test string"
11
+ },
12
+ {
13
+ "name": "test_float",
14
+ "type": "float",
15
+ "doc": "test float"
16
+ },
17
+ {
18
+ "name": "test_string_array",
19
+ "type": {
20
+ "type": "array",
21
+ "items": "string"
22
+ },
23
+ "default": ["test"]
24
+ },
25
+ {
26
+ "name": "test_int_array",
27
+ "type": {
28
+ "type": "array",
29
+ "items": "int"
30
+ },
31
+ "default": [123]
32
+ },
33
+ {
34
+ "name": "test_optional_int",
35
+ "type": [ "int", "null" ],
36
+ "default": 123
37
+ },
38
+ {
39
+ "name": "some_integer_map",
40
+ "doc": "some record map",
41
+ "type": {
42
+ "type": "map",
43
+ "values": "int"
44
+ },
45
+ "default": {"abc": 123}
46
+ },
47
+ {
48
+ "name": "some_record",
49
+ "type": {
50
+ "type": "record",
51
+ "name": "ARecord",
52
+ "fields": [
53
+ {
54
+ "name": "a_record_field",
55
+ "type": "string"
56
+ }
57
+ ]
58
+ },
59
+ "default": {"a_record_field": "Test String"}
60
+ },
61
+ {
62
+ "name": "some_optional_record",
63
+ "doc": "some optional record",
64
+ "type": [ "null", "ARecord" ],
65
+ "default": null
66
+ },
67
+ {
68
+ "name": "some_record_array",
69
+ "doc": "some record array",
70
+ "type": {
71
+ "type": "array",
72
+ "items": "ARecord"
73
+ }
74
+ },
75
+ {
76
+ "name": "some_record_map",
77
+ "doc": "some record map",
78
+ "type": {
79
+ "type": "map",
80
+ "values": "ARecord"
81
+ }
82
+ },
83
+ {
84
+ "name": "some_enum_array",
85
+ "type": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "enum",
89
+ "name": "AnEnum",
90
+ "symbols": ["sym1", "sym2"]
91
+ }
92
+ }
93
+ }
94
+ ]
95
+ }
data/spec/spec_helper.rb CHANGED
@@ -13,6 +13,10 @@ require 'activerecord-import'
13
13
  require 'handlers/my_batch_consumer'
14
14
  require 'handlers/my_consumer'
15
15
  require 'rspec/rails'
16
+ Dir['./spec/schema_classes/**/*.rb'].sort.each { |f| require f }
17
+
18
+ # Constants used for consumer specs
19
+ SCHEMA_CLASS_SETTINGS = { off: false, on: true }.freeze
16
20
 
17
21
  class DeimosApp < Rails::Application
18
22
  end
@@ -100,7 +104,7 @@ module DbConfigs
100
104
  DB_OPTIONS.each do |options|
101
105
  describe subject, :integration, db_config: options do
102
106
 
103
- include_context 'with DB'
107
+ include_context('with DB')
104
108
  describe options[:adapter] do # rubocop:disable RSpec/EmptyExampleGroup
105
109
  self.instance_eval(&block)
106
110
  end
@@ -192,6 +196,7 @@ RSpec.configure do |config|
192
196
  deimos_config.logger = Logger.new('/dev/null')
193
197
  deimos_config.logger.level = Logger::INFO
194
198
  deimos_config.schema.backend = :avro_validation
199
+ deimos_config.schema.generated_class_path = 'spec/schema_classes'
195
200
  end
196
201
  end
197
202
 
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: 1.10.2
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Orner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro_turf
@@ -302,14 +302,14 @@ dependencies:
302
302
  requirements:
303
303
  - - '='
304
304
  - !ruby/object:Gem::Version
305
- version: 0.88.0
305
+ version: 0.89.0
306
306
  type: :development
307
307
  prerelease: false
308
308
  version_requirements: !ruby/object:Gem::Requirement
309
309
  requirements:
310
310
  - - '='
311
311
  - !ruby/object:Gem::Version
312
- version: 0.88.0
312
+ version: 0.89.0
313
313
  - !ruby/object:Gem::Dependency
314
314
  name: rubocop-rspec
315
315
  requirement: !ruby/object:Gem::Requirement
@@ -409,6 +409,9 @@ files:
409
409
  - lib/deimos/schema_backends/avro_validation.rb
410
410
  - lib/deimos/schema_backends/base.rb
411
411
  - lib/deimos/schema_backends/mock.rb
412
+ - lib/deimos/schema_class/base.rb
413
+ - lib/deimos/schema_class/enum.rb
414
+ - lib/deimos/schema_class/record.rb
412
415
  - lib/deimos/shared_config.rb
413
416
  - lib/deimos/test_helpers.rb
414
417
  - lib/deimos/tracing/datadog.rb
@@ -419,6 +422,7 @@ files:
419
422
  - lib/deimos/utils/deadlock_retry.rb
420
423
  - lib/deimos/utils/inline_consumer.rb
421
424
  - lib/deimos/utils/lag_reporter.rb
425
+ - lib/deimos/utils/schema_class.rb
422
426
  - lib/deimos/utils/schema_controller_mixin.rb
423
427
  - lib/deimos/version.rb
424
428
  - lib/generators/deimos/active_record/templates/migration.rb.tt
@@ -430,6 +434,10 @@ files:
430
434
  - lib/generators/deimos/db_poller/templates/migration
431
435
  - lib/generators/deimos/db_poller/templates/rails3_migration
432
436
  - lib/generators/deimos/db_poller_generator.rb
437
+ - lib/generators/deimos/schema_class/templates/schema_class.rb.tt
438
+ - lib/generators/deimos/schema_class/templates/schema_enum.rb.tt
439
+ - lib/generators/deimos/schema_class/templates/schema_record.rb.tt
440
+ - lib/generators/deimos/schema_class_generator.rb
433
441
  - lib/tasks/deimos.rake
434
442
  - spec/active_record_batch_consumer_spec.rb
435
443
  - spec/active_record_consume/batch_slicer_spec.rb
@@ -445,6 +453,8 @@ files:
445
453
  - spec/consumer_spec.rb
446
454
  - spec/deimos_spec.rb
447
455
  - spec/generators/active_record_generator_spec.rb
456
+ - spec/generators/schema_class/my_schema_with_complex_types_spec.rb
457
+ - spec/generators/schema_class_generator_spec.rb
448
458
  - spec/handlers/my_batch_consumer.rb
449
459
  - spec/handlers/my_consumer.rb
450
460
  - spec/kafka_listener_spec.rb
@@ -460,12 +470,18 @@ files:
460
470
  - spec/schema_backends/avro_schema_registry_spec.rb
461
471
  - spec/schema_backends/avro_validation_spec.rb
462
472
  - spec/schema_backends/base_spec.rb
473
+ - spec/schema_classes/generated.rb
474
+ - spec/schema_classes/my_nested_schema.rb
475
+ - spec/schema_classes/my_schema.rb
476
+ - spec/schema_classes/my_schema_key.rb
477
+ - spec/schema_classes/my_schema_with_complex_types.rb
463
478
  - spec/schemas/com/my-namespace/Generated.avsc
464
479
  - spec/schemas/com/my-namespace/MyNestedSchema.avsc
465
480
  - spec/schemas/com/my-namespace/MySchema-key.avsc
466
481
  - spec/schemas/com/my-namespace/MySchema.avsc
467
482
  - spec/schemas/com/my-namespace/MySchemaCompound-key.avsc
468
483
  - spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
484
+ - spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
469
485
  - spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
470
486
  - spec/schemas/com/my-namespace/MySchemaWithId.avsc
471
487
  - spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc
@@ -528,6 +544,8 @@ test_files:
528
544
  - spec/consumer_spec.rb
529
545
  - spec/deimos_spec.rb
530
546
  - spec/generators/active_record_generator_spec.rb
547
+ - spec/generators/schema_class/my_schema_with_complex_types_spec.rb
548
+ - spec/generators/schema_class_generator_spec.rb
531
549
  - spec/handlers/my_batch_consumer.rb
532
550
  - spec/handlers/my_consumer.rb
533
551
  - spec/kafka_listener_spec.rb
@@ -543,12 +561,18 @@ test_files:
543
561
  - spec/schema_backends/avro_schema_registry_spec.rb
544
562
  - spec/schema_backends/avro_validation_spec.rb
545
563
  - spec/schema_backends/base_spec.rb
564
+ - spec/schema_classes/generated.rb
565
+ - spec/schema_classes/my_nested_schema.rb
566
+ - spec/schema_classes/my_schema.rb
567
+ - spec/schema_classes/my_schema_key.rb
568
+ - spec/schema_classes/my_schema_with_complex_types.rb
546
569
  - spec/schemas/com/my-namespace/Generated.avsc
547
570
  - spec/schemas/com/my-namespace/MyNestedSchema.avsc
548
571
  - spec/schemas/com/my-namespace/MySchema-key.avsc
549
572
  - spec/schemas/com/my-namespace/MySchema.avsc
550
573
  - spec/schemas/com/my-namespace/MySchemaCompound-key.avsc
551
574
  - spec/schemas/com/my-namespace/MySchemaWithBooleans.avsc
575
+ - spec/schemas/com/my-namespace/MySchemaWithComplexTypes.avsc
552
576
  - spec/schemas/com/my-namespace/MySchemaWithDateTimes.avsc
553
577
  - spec/schemas/com/my-namespace/MySchemaWithId.avsc
554
578
  - spec/schemas/com/my-namespace/MySchemaWithUniqueId.avsc