Class: Archimate::FileFormats::Serializer::Writer
- Inherits:
-
Object
- Object
- Archimate::FileFormats::Serializer::Writer
- Defined in:
- lib/archimate/file_formats/serializer/writer.rb
Direct Known Subclasses
Archi::ArchiFileWriter, ModelExchangeFile::ModelExchangeFileWriter
Instance Attribute Summary collapse
-
#model ⇒ Object
readonly
Returns the value of attribute model.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(model) ⇒ Writer
constructor
A new instance of Writer.
- #serialize(xml, collection) ⇒ Object
Constructor Details
#initialize(model) ⇒ Writer
Returns a new instance of Writer.
14 15 16 |
# File 'lib/archimate/file_formats/serializer/writer.rb', line 14 def initialize(model) @model = model end |
Instance Attribute Details
#model ⇒ Object (readonly)
Returns the value of attribute model.
7 8 9 |
# File 'lib/archimate/file_formats/serializer/writer.rb', line 7 def model @model end |
Class Method Details
.write(model, output_io) ⇒ Object
9 10 11 12 |
# File 'lib/archimate/file_formats/serializer/writer.rb', line 9 def self.write(model, output_io) writer = new(model) writer.write(output_io) end |
Instance Method Details
#serialize(xml, collection) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/archimate/file_formats/serializer/writer.rb', line 18 def serialize(xml, collection) Array(collection).each do |item| case item when DataModel::Element serialize_element(xml, item) when DataModel::Relationship serialize_relationship(xml, item) when DataModel::Organization serialize_organization(xml, item) when DataModel::Diagram serialize_diagram(xml, item) when DataModel::Location serialize_location(xml, item) when DataModel::Bounds serialize_bounds(xml, item) when DataModel::ViewNode serialize_view_node(xml, item) when DataModel::PreservedLangString Serializer::XmlLangString.new(item, :documentation).serialize(xml) when DataModel::Property serialize_property(xml, item) when DataModel::Connection serialize_connection(xml, item) when DataModel::Style serialize_style(xml, item) else raise TypeError, "Unexpected item type #{item.class}" end end end |