module Lutaml::Model::Config
def adapter_for(format)
def adapter_for(format) @adapters[format] end
def class_for(adapter, type)
def class_for(adapter, type) # TODO: Remove once HashAdapter namespace is renamed to Hash adapter = "hash_adapter" if adapter == "hash" Lutaml::Model.const_get(to_class_name(adapter)) .const_get(to_class_name(type)) end
def configure
def configure yield self self end
def default_register
def default_register @default_register ||= :default end
def default_register=(value)
def default_register=(value) @default_register = case value when Symbol then value when Lutaml::Model::Register then value.id else raise "Unknown register: #{value}, expected a Symbol or a Lutaml::Model::Register instance" end end
def load_adapter_file(adapter, type)
def load_adapter_file(adapter, type) # TODO: Remove once HashAdapter namespace is renamed to Hash adapter = "hash_adapter" if adapter == "hash" adapter_file = File.join(adapter, type) require_relative adapter_file rescue LoadError raise UnknownAdapterTypeError.new(adapter, type), cause: nil end
def load_moxml_adapter(type_name, adapter_name)
def load_moxml_adapter(type_name, adapter_name) return if KEY_VALUE_FORMATS.include?(adapter_name) Moxml::Adapter.load(type_name) end
def mappings_class_for(format)
def mappings_class_for(format) Lutaml::Model::FormatRegistry.mappings_class_for(format) end
def normalize_type_name(type_name, adapter_name)
def normalize_type_name(type_name, adapter_name) "#{type_name.to_s.gsub("_#{adapter_name}", '')}_adapter" end
def set_adapter_for(format, adapter)
def set_adapter_for(format, adapter) @adapters ||= {} @adapters[format] = adapter end
def to_class_name(str)
- Api: - private
def to_class_name(str) str.to_s.split("_").map(&:capitalize).join end
def transformer_for(format)
def transformer_for(format) Lutaml::Model::FormatRegistry.transformer_for(format) end