Module: Lutaml::Model::Config

Extended by:
Config
Included in:
Config
Defined in:
lib/lutaml/model/config.rb

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

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

#adaptersObject

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_formatsObject

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

Yields:



37
38
39
40
# File 'lib/lutaml/model/config.rb', line 37

def configure
  yield instance
  self
end

#default_context_idObject



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_registerObject



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

#instanceObject

Singleton Configuration instance



27
28
29
# File 'lib/lutaml/model/config.rb', line 27

def instance
  @instance ||= Configuration.new
end

#key_value_formatsObject

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