Module: Lutaml::Model::Config
Overview
Configuration module - single entry point for all configuration
Constant Summary collapse
- AVAILABLE_FORMATS =
Bootstrap format lists for key-value adapter method definition. At runtime, prefer FormatRegistry.formats for dynamic format discovery. NOTE: XML is NOT listed here — it registers dynamically via FormatRegistry when ‘require “lutaml/xml”` is called.
%i[json jsonl yaml toml hash].freeze
- KEY_VALUE_FORMATS =
AVAILABLE_FORMATS
Instance Method Summary collapse
-
#adapter_for(format) ⇒ Object
Get adapter for a format.
-
#adapters ⇒ Object
Adapter storage - used by FormatRegistry for dynamic format registration.
-
#available_formats ⇒ Object
Dynamic format discovery from FormatRegistry.
-
#configure {|instance| ... } ⇒ Object
Delegate configure to Configuration.
- #default_context_id ⇒ Object
- #default_context_id=(value) ⇒ Object
- #default_register ⇒ Object
- #default_register=(value) ⇒ Object
-
#instance ⇒ Object
Singleton Configuration instance.
-
#key_value_formats ⇒ Object
Dynamic key-value format discovery from FormatRegistry.
- #mappings_class_for(format) ⇒ Object
-
#set_adapter_for(format, adapter) ⇒ Object
Set adapter for a format (used by FormatRegistry).
-
#to_class_name(str) ⇒ Object
Utility method.
- #transformer_for(format) ⇒ Object
Instance Method Details
#adapter_for(format) ⇒ Object
Get adapter for a format
48 49 50 |
# File 'lib/lutaml/model/config.rb', line 48 def adapter_for(format) adapters[format] || instance.get_adapter(format) end |
#adapters ⇒ Object
Adapter storage - used by FormatRegistry for dynamic format registration
32 33 34 |
# File 'lib/lutaml/model/config.rb', line 32 def adapters @adapters ||= {} end |
#available_formats ⇒ Object
Dynamic format discovery from FormatRegistry
17 18 19 |
# File 'lib/lutaml/model/config.rb', line 17 def available_formats FormatRegistry.formats end |
#configure {|instance| ... } ⇒ Object
Delegate configure to Configuration
37 38 39 40 |
# File 'lib/lutaml/model/config.rb', line 37 def configure yield instance self end |
#default_context_id ⇒ Object
79 80 81 |
# File 'lib/lutaml/model/config.rb', line 79 def default_context_id instance.default_context_id end |
#default_context_id=(value) ⇒ Object
83 84 85 |
# File 'lib/lutaml/model/config.rb', line 83 def default_context_id=(value) instance.default_context_id = value end |
#default_register ⇒ Object
71 72 73 |
# File 'lib/lutaml/model/config.rb', line 71 def default_register instance.default_register end |
#default_register=(value) ⇒ Object
75 76 77 |
# File 'lib/lutaml/model/config.rb', line 75 def default_register=(value) instance.default_register = value end |
#instance ⇒ Object
Singleton Configuration instance
27 28 29 |
# File 'lib/lutaml/model/config.rb', line 27 def instance @instance ||= Configuration.new end |
#key_value_formats ⇒ Object
Dynamic key-value format discovery from FormatRegistry
22 23 24 |
# File 'lib/lutaml/model/config.rb', line 22 def key_value_formats FormatRegistry.key_value_formats end |
#mappings_class_for(format) ⇒ Object
63 64 65 |
# File 'lib/lutaml/model/config.rb', line 63 def mappings_class_for(format) instance.mappings_class_for(format) end |
#set_adapter_for(format, adapter) ⇒ Object
Set adapter for a format (used by FormatRegistry)
43 44 45 |
# File 'lib/lutaml/model/config.rb', line 43 def set_adapter_for(format, adapter) adapters[format] = adapter end |
#to_class_name(str) ⇒ Object
Utility method
88 89 90 |
# File 'lib/lutaml/model/config.rb', line 88 def to_class_name(str) str.to_s.split("_").map(&:capitalize).join end |
#transformer_for(format) ⇒ Object
67 68 69 |
# File 'lib/lutaml/model/config.rb', line 67 def transformer_for(format) instance.transformer_for(format) end |