class Lutaml::Model::FormatRegistry
def mappings_class_for(format)
def mappings_class_for(format) registered_formats.dig(format, :mapping_class) end
def register(format, mapping_class:, adapter_class:, transformer:)
def register(format, mapping_class:, adapter_class:, transformer:) registered_formats[format] = { mapping_class: mapping_class, transformer: transformer, } ::Lutaml::Model::Type::Value.register_format_to_from_methods(format) ::Lutaml::Model::Serialize.register_format_mapping_method(format) ::Lutaml::Model::Serialize.register_from_format_method(format) ::Lutaml::Model::Serialize.register_to_format_method(format) Lutaml::Model::Config.set_adapter_for(format, adapter_class) Lutaml::Model::Config.define_singleton_method(:"#{format}_adapter") do @adapters[format] || adapter_class end Lutaml::Model::Config.define_singleton_method(:"#{format}_adapter=") do |adapter_klass| @adapters ||= {} @adapters[format] = adapter_klass end end
def registered_formats
def registered_formats @registered_formats ||= {} end
def transformer_for(format)
def transformer_for(format) registered_formats.dig(format, :transformer) end