@@ -57,6 +57,13 @@ module DotHelper |
||
| 57 | 57 |
end |
| 58 | 58 |
end |
| 59 | 59 |
|
| 60 |
+ def ids(values) |
|
| 61 |
+ values.each_with_index { |id, i|
|
|
| 62 |
+ raw ' ' if i > 0 |
|
| 63 |
+ id id |
|
| 64 |
+ } |
|
| 65 |
+ end |
|
| 66 |
+ |
|
| 60 | 67 |
def attr_list(attrs = nil) |
| 61 | 68 |
return if attrs.nil? |
| 62 | 69 |
attrs = attrs.select { |key, value| value.present? }
|
@@ -86,16 +93,13 @@ module DotHelper |
||
| 86 | 93 |
end |
| 87 | 94 |
|
| 88 | 95 |
def statement(ids, attrs = nil) |
| 89 |
- Array(ids).each_with_index { |id, i|
|
|
| 90 |
- raw ' ' if i > 0 |
|
| 91 |
- id id |
|
| 92 |
- } |
|
| 96 |
+ ids Array(ids) |
|
| 93 | 97 |
attr_list attrs |
| 94 | 98 |
raw ';' |
| 95 | 99 |
end |
| 96 | 100 |
|
| 97 |
- def block(title, &block) |
|
| 98 |
- raw title |
|
| 101 |
+ def block(*ids, &block) |
|
| 102 |
+ ids ids |
|
| 99 | 103 |
raw '{'
|
| 100 | 104 |
block.call |
| 101 | 105 |
raw '}' |
@@ -137,7 +141,7 @@ module DotHelper |
||
| 137 | 141 |
color: (@disabled if agent.disabled? || receiver.disabled?)) |
| 138 | 142 |
end |
| 139 | 143 |
|
| 140 |
- block('digraph foo') {
|
|
| 144 |
+ block('digraph', 'Agent Event Flow') {
|
|
| 141 | 145 |
# statement 'graph', rankdir: 'LR' |
| 142 | 146 |
statement 'node', |
| 143 | 147 |
shape: 'box', |
@@ -56,7 +56,7 @@ describe DotHelper do |
||
| 56 | 56 |
it "generates a DOT script" do |
| 57 | 57 |
agents_dot(@agents).should =~ %r{
|
| 58 | 58 |
\A |
| 59 |
- digraph \s foo \{
|
|
| 59 |
+ digraph \x20 "Agent \x20 Event \x20 Flow" \{
|
|
| 60 | 60 |
node \[ [^\]]+ \]; |
| 61 | 61 |
(?<foo>\w+) \[label=foo\]; |
| 62 | 62 |
\k<foo> -> (?<bar1>\w+) \[style=dashed\]; |
@@ -73,7 +73,7 @@ describe DotHelper do |
||
| 73 | 73 |
it "generates a richer DOT script" do |
| 74 | 74 |
agents_dot(@agents, true).should =~ %r{
|
| 75 | 75 |
\A |
| 76 |
- digraph \s foo \{
|
|
| 76 |
+ digraph \x20 "Agent \x20 Event \x20 Flow" \{
|
|
| 77 | 77 |
node \[ [^\]]+ \]; |
| 78 | 78 |
(?<foo>\w+) \[label=foo,URL="#{Regexp.quote(agent_path(@foo))}"\];
|
| 79 | 79 |
\k<foo> -> (?<bar1>\w+) \[style=dashed\]; |