module Lutaml::Model::Config
def adapter_for(format)
-
(Class, nil)- the adapter class or nil
Parameters:
-
format(Symbol) -- the format name
def adapter_for(format) AdapterResolver.adapter_for(format) end
def available_formats
def available_formats FormatRegistry.formats end
def configure
def configure yield instance self end
def default_context_id
def default_context_id instance.default_context_id end
def default_context_id=(value)
def default_context_id=(value) instance.default_context_id = value end
def default_register
def default_register instance.default_register end
def default_register=(value)
def default_register=(value) instance.default_register = value end
def define_adapter_type_methods(format)
-
format(Symbol) -- the format name
def define_adapter_type_methods(format) return if method_defined?(:"#{format}_adapter_type=") # Adapter class getter (returns Class) define_method(:"#{format}_adapter") do AdapterResolver.adapter_for(format) end # Adapter class setter (accepts Class) define_method(:"#{format}_adapter=") do |adapter_klass| AdapterResolver.set_adapter_class(format, adapter_klass) end # Adapter type name setter (accepts Symbol like :nokogiri) define_method(:"#{format}_adapter_type=") do |type_name| AdapterResolver.set_adapter_type(format, type_name) end # Adapter type name getter (returns Symbol or nil) define_method(:"#{format}_adapter_type") do AdapterResolver.configured_type(format) end end
def instance
def instance @instance ||= Configuration.new end
def key_value_formats
def key_value_formats FormatRegistry.key_value_formats end
def mappings_class_for(format)
def mappings_class_for(format) instance.mappings_class_for(format) end
def set_adapter_for(format, adapter)
-
adapter(Class) -- the adapter class -
format(Symbol) -- the format name
def set_adapter_for(format, adapter) AdapterResolver.set_adapter_class(format, adapter) end
def to_class_name(str)
def to_class_name(str) str.to_s.split("_").map(&:capitalize).join end
def transformer_for(format)
def transformer_for(format) instance.transformer_for(format) end
def with_adapter(**overrides, &)
- Example: Library stacking -
Example: Testing with a specific adapter -
Returns:
-
(Object)- the block's return value
Other tags:
- Yield: - block within which overrides are active
Parameters:
-
overrides(Hash{Symbol => Symbol}) -- format => adapter type name
def with_adapter(**overrides, &) AdapterScope.with(overrides, &) end