Module: Archimate::FileFormats::Serializer::Archi::Element

Included in:
ArchiFileWriter
Defined in:
lib/archimate/file_formats/serializer/archi/element.rb

Instance Method Summary collapse

Instance Method Details

#element_attrs(element) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/archimate/file_formats/serializer/archi/element.rb', line 15

def element_attrs(element)
  {
    "xsi:type" => "archimate:#{mapped_element_name(element)}",
    "id" => element.id,
    "name" => element.name,
    "type" => element.is_a?(DataModel::Elements::OrJunction) ? "or" : nil
  }.compact
end

#mapped_element_name(element) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/archimate/file_formats/serializer/archi/element.rb', line 24

def mapped_element_name(element)
  case element
  when DataModel::Elements::AndJunction, DataModel::Elements::OrJunction
    "Junction"
  else
    element.type
  end
end

#serialize_element(xml, element) ⇒ Object



8
9
10
11
12
13
# File 'lib/archimate/file_formats/serializer/archi/element.rb', line 8

def serialize_element(xml, element)
  xml.element(element_attrs(element)) do
    serialize_documentation(xml, element.documentation)
    serialize(xml, element.properties)
  end
end