Class: DepGraph::GraphImageCreator
- Inherits:
-
Object
- Object
- DepGraph::GraphImageCreator
- Defined in:
- lib/graph_image_creator.rb
Instance Attribute Summary collapse
-
#trans ⇒ Object
writeonly
Sets the attribute trans.
Instance Method Summary collapse
- #add_edge(source_node_name, target_node_name) ⇒ Object
- #add_node(node_name) ⇒ Object
- #create_image(image_file_name) ⇒ Object
- #edge_count ⇒ Object
- #has_edge?(node1, node2) ⇒ Boolean
- #has_node?(node_name) ⇒ Boolean
-
#initialize ⇒ GraphImageCreator
constructor
A new instance of GraphImageCreator.
- #node_count ⇒ Object
- #output_generation=(output_generation_lambda) ⇒ Object
- #reset ⇒ Object
Constructor Details
#initialize ⇒ GraphImageCreator
Returns a new instance of GraphImageCreator.
8 9 10 11 12 |
# File 'lib/graph_image_creator.rb', line 8 def initialize @nodes = [] @edges = [] @trans = false end |
Instance Attribute Details
#trans=(value) ⇒ Object (writeonly)
Sets the attribute trans
6 7 8 |
# File 'lib/graph_image_creator.rb', line 6 def trans=(value) @trans = value end |
Instance Method Details
#add_edge(source_node_name, target_node_name) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/graph_image_creator.rb', line 31 def add_edge(source_node_name, target_node_name) fail "Cannot create a dependency to the unregistered node #{target_node_name}" unless @nodes.include?(target_node_name.to_str) fail "Cannot create a dependency from the unregistered node #{source_node_name}" unless @nodes.include?(source_node_name.to_str) @edges << [source_node_name.to_str, target_node_name.to_str] end |
#add_node(node_name) ⇒ Object
18 19 20 21 |
# File 'lib/graph_image_creator.rb', line 18 def add_node(node_name) fail 'Node name not specified' if node_name.to_str.empty? @nodes << node_name.to_str end |
#create_image(image_file_name) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/graph_image_creator.rb', line 47 def create_image(image_file_name) begin return false if @nodes.size == 0 or @edges.size == 0 set_default_output_generation_unless_is_set return @output_generation.call(@nodes, @edges, image_file_name) rescue => e puts e. puts e.backtrace return false end end |
#edge_count ⇒ Object
27 28 29 |
# File 'lib/graph_image_creator.rb', line 27 def edge_count @edges.size end |
#has_edge?(node1, node2) ⇒ Boolean
38 39 40 |
# File 'lib/graph_image_creator.rb', line 38 def has_edge?(node1, node2) @edges.include? [node1, node2] end |
#has_node?(node_name) ⇒ Boolean
23 24 25 |
# File 'lib/graph_image_creator.rb', line 23 def has_node?(node_name) @nodes.include? node_name end |
#node_count ⇒ Object
14 15 16 |
# File 'lib/graph_image_creator.rb', line 14 def node_count @nodes.size end |
#output_generation=(output_generation_lambda) ⇒ Object
62 63 64 |
# File 'lib/graph_image_creator.rb', line 62 def output_generation= output_generation_lambda @output_generation = output_generation_lambda end |
#reset ⇒ Object
42 43 44 45 |
# File 'lib/graph_image_creator.rb', line 42 def reset @nodes.clear @edges.clear end |