Module: Lutaml::Xml::Schema::Xsd::UninitializedGuard
- Defined in:
- lib/lutaml/xsd/xsd_model_extensions.rb
Overview
Attributes added by reopening don’t participate in XML deserialization, so they get Lutaml::Model::UninitializedClass (a truthy sentinel). Override getters to return nil instead.
Class Method Summary collapse
Class Method Details
.guard(klass, *names) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/lutaml/xsd/xsd_model_extensions.rb', line 11 def self.guard(klass, *names) mod = Module.new do names.each do |name| define_method(name) do val = super() ::Lutaml::Model::Utils.uninitialized?(val) ? nil : val end end end klass.prepend(mod) end |