GraphViz
Provides a set of higher-order features on top of the raw GraphViz graphs
Creates a new graph with the given name.
Configuration options:
:path - The path to write the graph file to. Default is the current directory (".").
:format - The image format to generate the graph in. Default is "png'.
:font - The name of the font to draw state names in. Default is "Arial".
:orientation - The direction of the graph ("portrait" or "landscape"). Default is "portrait".
# File lib/state_machine/graph.rb, line 37 def initialize(name, options = {}) options = {:path => '.', :format => 'png', :font => 'Arial', :orientation => 'portrait'}.merge(options) assert_valid_keys(options, :path, :format, :font, :orientation) @font = options[:font] @file_path = File.join(options[:path], "#{name}.#{options[:format]}") @file_format = options[:format] super('G', :rankdir => options[:orientation] == 'landscape' ? 'LR' : 'TB') end
Adds a new edge to the graph. The font for the edge will be automatically set based on the graph configuration. The generated edge will be returned.
For example,
graph = StateMachine::Graph.new('test') graph.add_edges('parked', 'idling', :label => 'ignite')
# File lib/state_machine/graph.rb, line 75 def add_edges(*args) edge = v0_api? ? add_edge(*args) : super edge.fontname = @font edge end
Adds a new node to the graph. The font for the node will be automatically set based on the graph configuration. The generated node will be returned.
For example,
graph = StateMachine::Graph.new('test') graph.add_nodes('parked', :label => 'Parked', :width => '1', :height => '1', :shape => 'ellipse')
# File lib/state_machine/graph.rb, line 62 def add_nodes(*args) node = v0_api? ? add_node(*args) : super node.fontname = @font node end
Generated with the Darkfish Rdoc Generator 2.