Module: Xmi
- Defined in:
- lib/xmi/namespace/dynamic.rb,
lib/xmi.rb,
lib/xmi.rb,
lib/xmi/add.rb,
lib/xmi/uml.rb,
lib/xmi/root.rb,
lib/xmi/type.rb,
lib/xmi/sparx.rb,
lib/xmi/delete.rb,
lib/xmi/ea_root.rb,
lib/xmi/parsing.rb,
lib/xmi/replace.rb,
lib/xmi/version.rb,
lib/xmi/uml/type.rb,
lib/xmi/extension.rb,
lib/xmi/namespace.rb,
lib/xmi/sparx/gml.rb,
lib/xmi/v20110701.rb,
lib/xmi/v20131001.rb,
lib/xmi/v20161101.rb,
lib/xmi/versioned.rb,
lib/xmi/difference.rb,
lib/xmi/sparx/root.rb,
lib/xmi/uml/bounds.rb,
lib/xmi/sparx/index.rb,
lib/xmi/uml/diagram.rb,
lib/xmi/uml/profile.rb,
lib/xmi/sparx/ea_uml.rb,
lib/xmi/xmi_identity.rb,
lib/xmi/documentation.rb,
lib/xmi/namespace/omg.rb,
lib/xmi/sparx/diagram.rb,
lib/xmi/sparx/ea_stub.rb,
lib/xmi/sparx/element.rb,
lib/xmi/uml/owned_end.rb,
lib/xmi/uml/uml_model.rb,
lib/xmi/custom_profile.rb,
lib/xmi/sparx/gml/type.rb,
lib/xmi/sparx/mappings.rb,
lib/xmi/sparx/sys_ph_s.rb,
lib/xmi/uml/member_end.rb,
lib/xmi/namespace/sparx.rb,
lib/xmi/parser_pipeline.rb,
lib/xmi/sparx/connector.rb,
lib/xmi/sparx/extension.rb,
lib/xmi/sparx/gml/union.rb,
lib/xmi/uml/precondition.rb,
lib/xmi/version_registry.rb,
lib/xmi/namespace/dynamic.rb,
lib/xmi/sparx/element/tag.rb,
lib/xmi/uml/default_value.rb,
lib/xmi/uml/owned_comment.rb,
lib/xmi/uml/owned_element.rb,
lib/xmi/uml/owned_literal.rb,
lib/xmi/uml/specification.rb,
lib/xmi/namespace_detector.rb,
lib/xmi/namespace_registry.rb,
lib/xmi/sparx/element/code.rb,
lib/xmi/sparx/gml/property.rb,
lib/xmi/uml/package_import.rb,
lib/xmi/sparx/element/flags.rb,
lib/xmi/sparx/element/links.rb,
lib/xmi/sparx/element/model.rb,
lib/xmi/sparx/element/paths.rb,
lib/xmi/sparx/element/style.rb,
lib/xmi/sparx/element/times.rb,
lib/xmi/sparx/element/xrefs.rb,
lib/xmi/sparx/gml/code_list.rb,
lib/xmi/sparx/gml/data_type.rb,
lib/xmi/uml/owned_attribute.rb,
lib/xmi/uml/owned_operation.rb,
lib/xmi/uml/owned_parameter.rb,
lib/xmi/sparx/custom_profile.rb,
lib/xmi/sparx/element/bounds.rb,
lib/xmi/sparx/element/coords.rb,
lib/xmi/sparx/primitive_type.rb,
lib/xmi/uml/packaged_element.rb,
lib/xmi/sparx/connector/model.rb,
lib/xmi/sparx/element/element.rb,
lib/xmi/sparx/element/project.rb,
lib/xmi/sparx/element/styleex.rb,
lib/xmi/sparx/gml/enumeration.rb,
lib/xmi/uml/annotated_element.rb,
lib/xmi/sparx/connector/labels.rb,
lib/xmi/sparx/gml/feature_type.rb,
lib/xmi/sparx/element/attribute.rb,
lib/xmi/uml/profile_application.rb,
lib/xmi/sparx/connector/end_base.rb,
lib/xmi/sparx/connector/end_role.rb,
lib/xmi/sparx/connector/end_type.rb,
lib/xmi/sparx/element/properties.rb,
lib/xmi/sparx/element/stereotype.rb,
lib/xmi/sparx/connector/connector.rb,
lib/xmi/sparx/connector/end_style.rb,
lib/xmi/sparx/element/association.rb,
lib/xmi/sparx/element/containment.rb,
lib/xmi/sparx/connector/appearance.rb,
lib/xmi/sparx/connector/properties.rb,
lib/xmi/sparx/element/documentation.rb,
lib/xmi/sparx/gml/shared_attributes.rb,
lib/xmi/sparx/mappings/base_mapping.rb,
lib/xmi/sparx/gml/application_schema.rb,
lib/xmi/sparx/connector/end_modifiers.rb,
lib/xmi/sparx/connector/end_constraint.rb,
lib/xmi/uml/association_generalization.rb,
lib/xmi/sparx/element/package_properties.rb,
lib/xmi/sparx/element/extended_properties.rb
Overview
Add convenience method to parent module
Defined Under Namespace
Modules: CustomProfile, Namespace, NamespaceRegistry, ParserPipeline, Parsing, Sparx, Type, Uml, V20110701, V20131001, V20161101, VersionRegistry, Versioned, XmiIdentity Classes: Add, Delete, Difference, Documentation, EaRoot, Error, Extension, NamespaceDetector, Replace, Root
Constant Summary collapse
- VALUE_MAP =
Shared value_map for XMI elements Used to handle nil, empty, and omitted values consistently
{ from: { nil: :empty, empty: :empty, omitted: :empty }, to: { nil: :empty, empty: :empty, omitted: :empty }, }.freeze
- VERSION =
"0.5.4"
Class Method Summary collapse
-
.init_versioning! ⇒ void
Initialize all version registers.
-
.parse(xml_content) ⇒ Root
Parse XMI with automatic version detection.
-
.parse_with_version(xml_content, version) ⇒ Root
Parse XMI with a specific version register.
-
.versioning_initialized? ⇒ Boolean
Check if versioning has been initialized.
Class Method Details
.init_versioning! ⇒ void
This method returns an undefined value.
Initialize all version registers
Call this during gem initialization or before first use.
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/xmi.rb', line 75 def init_versioning! return if @versioning_initialized # Initialize versions in order (newest depends on older) V20110701.init_models! V20131001.init_models! V20161101.init_models! @versioning_initialized = true end |
.parse(xml_content) ⇒ Root
Parse XMI with automatic version detection
91 92 93 94 |
# File 'lib/xmi.rb', line 91 def parse(xml_content) init_versioning! VersionRegistry.parse_with_detected_version(xml_content, Root) end |
.parse_with_version(xml_content, version) ⇒ Root
Parse XMI with a specific version register
102 103 104 105 106 107 108 |
# File 'lib/xmi.rb', line 102 def parse_with_version(xml_content, version) init_versioning! register = VersionRegistry.register_for_version(version) raise ArgumentError, "Unknown version: #{version}" unless register Root.from_xml(xml_content, register: register) end |
.versioning_initialized? ⇒ Boolean
Check if versioning has been initialized
114 115 116 |
# File 'lib/xmi.rb', line 114 def versioning_initialized? @versioning_initialized || false end |