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