Module: Archimate::FileFormats::Serializer::Archi::Relationship

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

Instance Method Summary collapse

Instance Method Details

#serialize_access_type(val) ⇒ Object



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

def serialize_access_type(val)
  case val
  when nil
    nil
  else
    DataModel::ACCESS_TYPE.index(val)
  end
end

#serialize_relationship(xml, rel) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/archimate/file_formats/serializer/archi/relationship.rb', line 8

def serialize_relationship(xml, rel)
  xml.element(
    {
      "xsi:type" => "archimate:#{rel.type}Relationship",
      "id" => rel.id,
      "name" => rel.name,
      "source" => rel.source.id,
      "target" => rel.target.id,
      "accessType" => serialize_access_type(rel.access_type)
    }.compact
  ) do
    serialize_documentation(xml, rel.documentation)
    serialize(xml, rel.properties)
  end
end