Class: Archimate::FileFormats::Sax::ModelExchangeFile::Property

Inherits:
Handler
  • Object
show all
Defined in:
lib/archimate/file_formats/sax/model_exchange_file/property.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) ⇒ Property

Returns a new instance of Property.



8
9
10
11
# File 'lib/archimate/file_formats/sax/model_exchange_file/property.rb', line 8

def initialize(name, attrs, parent_handler)
  super
  @value = nil
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



13
14
15
16
17
18
19
20
21
22
# File 'lib/archimate/file_formats/sax/model_exchange_file/property.rb', line 13

def complete
  property = DataModel::Property.new(property_definition: nil, value: @value)
  [
    event(:on_property, property),
    event(:on_future,
          Sax::FutureReference.new(property,
                                   :property_definition,
                                   attrs["propertyDefinitionRef"] || attrs["identifierref"]))
  ]
end

#on_lang_string(str, _source) ⇒ Object



24
25
26
27
# File 'lib/archimate/file_formats/sax/model_exchange_file/property.rb', line 24

def on_lang_string(str, _source)
  @value = str
  false
end