lib/dogviz.rb in dogviz-0.0.5 vs lib/dogviz.rb in dogviz-0.0.7
- old
+ new
@@ -40,10 +40,18 @@
def skip?
@skip
end
+ def in_skip?
+ skip? || under_skip?
+ end
+
+ def under_skip?
+ ancestors.any? &:skip?
+ end
+
def under_rollup?
ancestors.any? &:rollup?
end
def in_rollup?
rollup? || under_rollup?
@@ -122,11 +130,11 @@
setup_render_edge(other, options)
other
end
def render(renderer)
- do_render_node(renderer) unless in_rollup? || skip?
+ do_render_node(renderer) unless in_rollup? || in_skip?
end
def render_edges(renderer)
pointers.each {|p|
render_pointer p, renderer
@@ -155,17 +163,17 @@
from = self
while (from.in_rollup? && !from.on_top_rollup?) do
from = from.parent
end
- return if from.skip?
+ return if from.in_skip?
return if from == self && from.in_rollup?
return if from == other
return if already_added_connection?(other)
- if other.skip?
+ if other.in_skip?
others = resolve_skipped_others other
else
others = [other]
end
@@ -182,11 +190,11 @@
def resolve_skipped_others(skipped)
resolved = []
skipped.pointers.each {|pointer|
next_in_line = pointer[:other]
- if next_in_line.skip?
+ if next_in_line.in_skip?
resolved += resolve_skipped_others next_in_line
else
resolved << next_in_line
end
}
@@ -355,11 +363,11 @@
end
def output(*args)
render
out = graph.output *args
- puts "Created output: #{args.join ' '}"
+ puts "Created output: #{args.join ' '}" if run_from_command_line?
out
end
def render(type=:graphviz)
return @graph if @rendered
@@ -379,18 +387,26 @@
def rollup?
false
end
+ def skip?
+ false
+ end
+
def register(name, thing)
@by_name.register name, thing
end
private
def create_title(name)
now = DateTime.now
"#{now.strftime '%H:%M'} #{name} #{now.strftime '%F'}"
+ end
+
+ def run_from_command_line?
+ !ARGV.empty?
end
end
class LookupError < StandardError
end