Class: Archimate::FileFormats::Sax::ModelExchangeFile::SchemaInfo

Inherits:
Handler
  • Object
show all
Defined in:
lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb

Instance Attribute Summary

Attributes inherited from Handler

#attrs, #element_type, #name, #parent_handler

Instance Method Summary collapse

Methods inherited from Handler

#characters, #diagram, #event, #method_missing, #process_text, #property_definitions, #respond_to_missing?

Constructor Details

#initialize(name, attrs, parent_handler) ⇒ SchemaInfo

Returns a new instance of SchemaInfo.



8
9
10
11
12
13
14
# File 'lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb', line 8

def initialize(name, attrs, parent_handler)
  super
  @schema_infos = []
  @schema = nil
  @schema_version = nil
  @elements = []
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Archimate::FileFormats::Sax::Handler

Instance Method Details

#completeObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb', line 16

def complete
  [
    event(
      :on_schema_info,
      DataModel::SchemaInfo.new(
        schema: @schema,
        schemaversion: @schema_version,
        elements: @elements
      )
    )
  ]
end

#on_any_element(any_element, _source) ⇒ Object



39
40
41
42
# File 'lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb', line 39

def on_any_element(any_element, _source)
  @elements << any_element
  false
end

#on_schema(string, _source) ⇒ Object



29
30
31
32
# File 'lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb', line 29

def on_schema(string, _source)
  @schema = string
  false
end

#on_schemaversion(string, _source) ⇒ Object



34
35
36
37
# File 'lib/archimate/file_formats/sax/model_exchange_file/schema_info.rb', line 34

def on_schemaversion(string, _source)
  @schema_version = string
  false
end