Class: Xmi::Sparx::Root

Inherits:
Root show all
Defined in:
lib/xmi/sparx/root.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from XmiIdentity::Attributes

included

Methods inherited from Lutaml::Model::Serializable

#type?

Class Method Details

.parse_xml(xml_content) ⇒ Root

Parse XMI content into Ruby objects.

Uses the ParserPipeline for composable parsing steps: encoding fix → version detection → XML parsing → index building.

Parameters:

  • xml_content (String)

    The raw XMI XML content

Returns:

  • (Root)

    The parsed Ruby object with index built

See Also:



34
35
36
37
38
39
# File 'lib/xmi/sparx/root.rb', line 34

def parse_xml(xml_content)
  ctx = ParserPipeline.run(
    { xml: xml_content, root_class: self },
  )
  ctx[:root]
end

Instance Method Details

#build_indexSparx::Index

Build index for fast lookups

Returns:



47
48
49
# File 'lib/xmi/sparx/root.rb', line 47

def build_index
  @index = Index.new(self)
end

#indexSparx::Index

Access the index (builds on first access if needed)

Returns:



53
54
55
# File 'lib/xmi/sparx/root.rb', line 53

def index
  @index || build_index
end