X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Ferd_handler%2Flink.rb;h=63bfd0600182574a9a527c18c1a8c68421ac46c9;hb=fdc3bc03b2d7759927ae34d5382d2168be6a2bae;hp=f8ebc193db3be7d84a2f6b99357b578f0dfcd08c;hpb=e63ce01b6c3d62ec3b7354dc6364f43ce3de5d5e;p=erd-marker.git diff --git a/lib/erd_handler/link.rb b/lib/erd_handler/link.rb index f8ebc19..63bfd06 100644 --- a/lib/erd_handler/link.rb +++ b/lib/erd_handler/link.rb @@ -9,7 +9,24 @@ module ErdHandler def read(link_element, vertices) self.id = link_element.attributes["id"].to_i self.mark = link_element.attributes["mark"].to_f - + self.name = Label.new link_element.elements['moveableName'].attributes['name'] + box1 = vertices.select {|v| v.id == link_element.elements['box1'].attributes['id'].to_i}[0] + box2 = vertices.select {|v| v.id == link_element.elements['box2'].attributes['id'].to_i}[0] + self << box1 << box2 + box1.edges << self + box2.edges << self unless box1 == box2 + if box1 == box2 + c1 = self.connections[0] + c2 = self.connections[1] + else + c1 = self.connections.find {|c| c.end == box1} + c2 = self.connections.find {|c| c.end == box2} + end + c1.blob = link_element.elements['box1EndAdornments'].attributes['blob'].downcase.intern + c1.crowsfoot = link_element.elements['box1EndAdornments'].attributes['crowsfoot'].downcase.intern + c2.blob = link_element.elements['box2EndAdornments'].attributes['blob'].downcase.intern + c2.crowsfoot = link_element.elements['box2EndAdornments'].attributes['crowsfoot'].downcase.intern end + end -end \ No newline at end of file +end