class Lutaml::Model::Schema::XmlCompiler::Group
def base_name
def base_name (name || ref)&.split(":")&.last end
def definitions_content
def definitions_content @definitions_content ||= instance.to_attributes(@indent) end
def extended_indent
def extended_indent @indent * 2 end
def initialize(name = nil, ref = nil)
def initialize(name = nil, ref = nil) @name = name @ref = ref end
def required_files
def required_files if Utils.blank?(name) && Utils.present?(ref) "require_relative \"#{Utils.snake_case(ref.split(':').last)}\"" else @instance&.required_files end end
def setup_options(options)
def setup_options(options) @indent = " " * options&.fetch(:indent, 2) end
def to_attributes(indent = @indent)
def to_attributes(indent = @indent) if Utils.present?(@ref) "#{indent}import_model_attributes :#{Utils.snake_case(base_name)}\n" else @instance.to_attributes(indent) end end
def to_class(options: {})
def to_class(options: {}) setup_options(options) GROUP_TEMPLATE.result(binding) end
def to_xml_mapping(indent = @indent)
def to_xml_mapping(indent = @indent) if Utils.present?(@ref) "#{indent}import_model_mappings :#{Utils.snake_case(base_name)}\n" else @instance.to_xml_mapping(indent * 2) end end
def xml_mapping_block
def xml_mapping_block XML_MAPPING_TEMPLATE.result(binding) end