Module: Metanorma::Plugin::Lutaml::LutamlEaXmiBase

Constant Summary collapse

SUPPORTED_NESTED_MACRO =
%w[
  before diagram_include_block after include_block package_text
].freeze
XMI_INDEX_REGEXP =
%r{
  ^:lutaml-xmi-index:  # Start of the pattern
  (?<index_name>.+?)   # Capture index name
  ;                    # Separator
  (?<index_path>.+?)   # Capture index path
  ;?                   # Optional separator
  (?<config_group>     # Optional config group
    \s*config=         # Config prefix
    (?<config_path>.+) # Capture config path
  )?                   # End of optional group
  $                    # End of the pattern
}x

Constants included from XmiRenderer

XmiRenderer::DEFAULT_RENDER_INCLUDE, XmiRenderer::LIQUID_INCLUDE_PATH, XmiRenderer::RENDER_STYLES_INCLUDES, XmiRenderer::RENDER_STYLE_ATTRIBUTE

Constants included from XmiCache

XmiCache::LUTAML_DOC_CACHE, XmiCache::UML_DOC_CACHE

Constants included from Utils

Utils::LUTAML_EXP_IDX_TAG

Instance Method Summary collapse

Methods included from XmiRenderer

#get_name_path, #get_template, #model_representation, #render_table, #template, #template_path

Methods included from XmiContextBuilder

#create_context_object, #create_default_context_object, #fill_in_diagrams_attributes, #fill_in_entities_refs_attributes

Methods included from XmiPackageFilter

#filter_out_all_skipped_packages, #package_entities, #package_hash, #package_level, #select_supplied_packages_by_pattern, #sort_and_filter_out_packages

Methods included from XmiConfig

#config_entity_regexp, #get_guidance, #parse_yaml_config_file

Methods included from XmiCache

#build_drop_options, #build_uml_document, #find_packaged_enum, #find_packaged_klass, #find_packaged_klass_by_path, #find_uml_node_by_xmi_id, #load_ea_extensions, #lutaml_document_from_file_or_cache, #match_parent_chain?, #serialize_enum_drop_by_name, #serialize_klass_drop_by_name

Methods included from Utils

create_liquid_environment, error_signature, load_express_from_folder, load_express_from_index, load_express_repo_from_cache, load_express_repo_from_path, load_express_repositories, notify_render_errors, parse_document_express_indexes, processed_lines, relative_file_path, render_liquid_string, save_express_repo_to_cache

Instance Method Details

#process(document, reader) ⇒ Object



33
34
35
36
37
38
# File 'lib/metanorma/plugin/lutaml/lutaml_ea_xmi_base.rb', line 33

def process(document, reader)
  r = Asciidoctor::PreprocessorNoIfdefsReader.new document, reader.lines
  input_lines = r.readlines.to_enum
  Asciidoctor::PreprocessorNoIfdefsReader
    .new(document, processed_lines(document, input_lines))
end