Module: Markdoc::Sequence
- Defined in:
- lib/markdoc/sequence.rb
Defined Under Namespace
Classes: Message, Parser, Role
Class Method Summary collapse
Class Method Details
.draw(code, format = :svg) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/markdoc/sequence.rb', line 3 def self.draw(code, format = :svg) parser = Parser.new(code) digest = Digest::MD5.hexdigest code pic = nil Tempfile.open([digest, '.pic']) do |file| file.write parser.parse pic = file.path end if format == :pic return IO.read(pic) end image = Tempfile.new([digest, ".#{format}"]) image.close if system("pic2plot -T#{format} #{pic} > #{image.path}") IO.read image else raise "Can't generate sequence diagram" end end |