Added label objects
[erd-marker.git] / lib / erd_handler / erd.rb
index f7e246a0d3581a7c62c747f5575e7956b038d522..bf740072d432b883cf7e58d891d56c4431418051 100644 (file)
@@ -10,13 +10,16 @@ module ErdHandler
       doc = Document.new(source)
       raise InvalidErdFile unless doc.elements.to_a.length == 1 and doc.elements[1].name.downcase == 'drawing'
       self.mark = doc.elements['Drawing'].attributes["mark"].to_f
-      self.name = doc.elements['Drawing'].attributes["name"]
+      self.name = Label.new doc.elements['Drawing'].attributes["name"]
       doc.elements.each('Drawing/box') do |box_element|
         self << Box.new(box_element)
       end
       doc.elements.each('Drawing/link') do |link_element|
         self << Link.new(link_element, self.vertices)
       end
+      doc.elements.each('Drawing/selfLink') do |link_element|
+        self << Link.new(link_element, self.vertices)
+      end
       self
     end
   end