Class: Lutaml::Model::Schema::Renderers::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/model/schema/renderers/model.rb

Overview

Renders a Definitions::Model into a Lutaml::Model::Serializable subclass as Ruby source. Member-declaration and xml-mapping rendering is delegated to MemberDecls and Mappings.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec, indent: 2, module_namespace: nil, register_id: :default) ⇒ Model

Returns a new instance of Model.



17
18
19
20
21
22
23
# File 'lib/lutaml/model/schema/renderers/model.rb', line 17

def initialize(spec, indent: 2, module_namespace: nil, register_id: :default)
  @spec = spec
  @indent = indent.is_a?(Integer) ? " " * indent : indent
  @extended_indent = @indent * 2
  @raw_module_namespace = module_namespace
  @register_id = register_id
end

Class Method Details

.render(spec) ⇒ Object



13
14
15
# File 'lib/lutaml/model/schema/renderers/model.rb', line 13

def self.render(spec, **)
  new(spec, **).render
end

Instance Method Details

#renderObject



25
26
27
# File 'lib/lutaml/model/schema/renderers/model.rb', line 25

def render
  Templates::SERIALIZABLE_CLASS.result(binding)
end