avromatic 4.1.0 → 4.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: edd31aa475804bf20a1f5b4ddbe90e8c98460617daeaf2e1641316c08cce505b
4
- data.tar.gz: b20ae31b2aeff034f9fa99e2a90d4bb78dfe894967ab8e0267b1df6ee954a15d
3
+ metadata.gz: 7bec6621c5d35e04596185542eaa4d96d00ef67f86f24b26378c68b22ecb3b3c
4
+ data.tar.gz: 1468ebd3138c5dc63a5d18d86dab5757df5c67109867628d1161b01ef70db1f3
5
5
  SHA512:
6
- metadata.gz: 6e4d441e7645b52840725041d361f699266a9e5dd974e8cd588c8f4750ba21eb4efd016b9c6c20e034a98ed79b673f9aa12a5f0b3a56312a57b344659b93606d
7
- data.tar.gz: 5b8ba9cc0049f80a31f88399ca504796997038b969d728be5867d6fd5bc6868786e4ae9dffc0de8a7c1db99e129f9398e4f867794dbd449d54f74c69650735bb
6
+ metadata.gz: da43c835a7f56011c1ed194bba7a02e5f98a190f65a8ce025b67f8a23d9a43093e2e64f83cdaf520d847c37ecf66cfd6ed276aee7f195a9f3f2b0c248967f5bf
7
+ data.tar.gz: 920048102d5947af69eca3d4e4c357adf9eefaebbd83e8d70190d29a6fb8d30c65072c97fda65613d9ebed32e127f98d9f4952e1e91e081963e61a480a002af3
data/.github/CODEOWNERS CHANGED
@@ -1 +1 @@
1
- * @jturkel @kphelps @tjwp
1
+ * @jturkel @tjwp @salsify/infrastructure-services
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # avromatic changelog
2
2
 
3
+ ## 4.1.1
4
+ - Fix eager loading of nested models when using the Zeitwerk classloader with Rails.
5
+
3
6
  ## 4.1.0
4
7
  - Add support for specifying a subject for the avro schema when building an Avromatic model
5
8
 
data/README.md CHANGED
@@ -286,7 +286,7 @@ correct order:
286
286
  Avromatic.configure do |config|
287
287
  config.eager_load_models = [
288
288
  # reference any extended models that should be defined first
289
- MyNestedModel
289
+ 'MyNestedModel'
290
290
  ]
291
291
  end
292
292
  ```
data/avromatic.gemspec CHANGED
@@ -45,7 +45,7 @@ Gem::Specification.new do |spec|
45
45
  spec.add_development_dependency 'rake', '~> 13.0'
46
46
  spec.add_development_dependency 'rspec', '~> 3.8'
47
47
  spec.add_development_dependency 'rspec_junit_formatter'
48
- spec.add_development_dependency 'salsify_rubocop', '~> 1.1.0'
48
+ spec.add_development_dependency 'salsify_rubocop', '~> 1.27.1'
49
49
  spec.add_development_dependency 'simplecov'
50
50
  spec.add_development_dependency 'webmock'
51
51
  # For AvroSchemaRegistry::FakeServer
@@ -60,11 +60,11 @@ module Avromatic
60
60
  Avromatic::Model::Types::EnumType.new(schema.symbols)
61
61
  when :array
62
62
  value_type = create(schema: schema.items, nested_models: nested_models,
63
- use_custom_types: use_custom_types)
63
+ use_custom_types: use_custom_types)
64
64
  Avromatic::Model::Types::ArrayType.new(value_type: value_type)
65
65
  when :map
66
66
  value_type = create(schema: schema.values, nested_models: nested_models,
67
- use_custom_types: use_custom_types)
67
+ use_custom_types: use_custom_types)
68
68
  Avromatic::Model::Types::MapType.new(
69
69
  key_type: Avromatic::Model::Types::StringType.new,
70
70
  value_type: value_type
@@ -7,19 +7,8 @@ module Avromatic
7
7
  config.logger = Rails.logger
8
8
  end
9
9
 
10
- # Rails calls the to_prepare hook once during boot-up, after running
11
- # initializers. After the to_prepare call during boot-up, no code will
12
- # we reloaded, so we need to retain the contents of the nested_models
13
- # registry.
14
- #
15
- # For subsequent calls to to_prepare (in development), the nested_models
16
- # registry is cleared and repopulated by explicitly referencing the
17
- # eager_loaded_models.
18
- first_prepare = true
19
-
20
10
  Rails.configuration.to_prepare do
21
- Avromatic.prepare!(skip_clear: first_prepare)
22
- first_prepare = false
11
+ Avromatic.prepare!
23
12
  end
24
13
  end
25
14
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avromatic
4
- VERSION = '4.1.0'
4
+ VERSION = '4.1.1'
5
5
  end
data/lib/avromatic.rb CHANGED
@@ -29,7 +29,6 @@ module Avromatic
29
29
 
30
30
  def self.configure
31
31
  yield self
32
- eager_load_models!
33
32
  end
34
33
 
35
34
  def self.build_schema_registry
@@ -66,18 +65,16 @@ module Avromatic
66
65
 
67
66
  # This method is called as a Rails to_prepare hook after the application
68
67
  # first initializes during boot-up and prior to each code reloading.
69
- # For the first call during boot-up we do not want to clear the nested_models.
70
- def self.prepare!(skip_clear: false)
71
- unless skip_clear
72
- nested_models.clear
73
- if schema_store
74
- if schema_store.respond_to?(:clear_schemas)
75
- schema_store.clear_schemas
76
- elsif schema_store.respond_to?(:clear)
77
- schema_store.clear
78
- end
68
+ def self.prepare!
69
+ nested_models.clear
70
+ if schema_store
71
+ if schema_store.respond_to?(:clear_schemas)
72
+ schema_store.clear_schemas
73
+ elsif schema_store.respond_to?(:clear)
74
+ schema_store.clear
79
75
  end
80
76
  end
77
+
81
78
  eager_load_models!
82
79
  end
83
80
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avromatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify Engineering
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-07 00:00:00.000000000 Z
11
+ date: 2022-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -216,14 +216,14 @@ dependencies:
216
216
  requirements:
217
217
  - - "~>"
218
218
  - !ruby/object:Gem::Version
219
- version: 1.1.0
219
+ version: 1.27.1
220
220
  type: :development
221
221
  prerelease: false
222
222
  version_requirements: !ruby/object:Gem::Requirement
223
223
  requirements:
224
224
  - - "~>"
225
225
  - !ruby/object:Gem::Version
226
- version: 1.1.0
226
+ version: 1.27.1
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: simplecov
229
229
  requirement: !ruby/object:Gem::Requirement
@@ -364,7 +364,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
364
364
  - !ruby/object:Gem::Version
365
365
  version: '0'
366
366
  requirements: []
367
- rubygems_version: 3.2.22
367
+ rubygems_version: 3.3.7
368
368
  signing_key:
369
369
  specification_version: 4
370
370
  summary: Generate Ruby models from Avro schemas