class Dogviz::Container
Attributes
children[R]
id[R]
name[R]
node[R]
parent[R]
render_options[R]
render_type[R]
Public Class Methods
new(parent, name, options = {})
click to toggle source
# File lib/dogviz/container.rb, line 14 def initialize(parent, name, options = {}) @children = [] @by_name = Registry.new name @parent = parent @name = name @id = create_id(name, parent) @skip = false @info = {} init_rollup options setup_render_attributes label: name default_bounded_option(options) @render_options = options.merge(inherited_render_options) parent.register name, self end
Public Instance Methods
auto_nominate?()
click to toggle source
# File lib/dogviz/container.rb, line 56 def auto_nominate? root.auto_nominate? end
register(name, thing)
click to toggle source
# File lib/dogviz/container.rb, line 33 def register(name, thing) @by_name.register name, thing parent.register name, thing end
render(renderer)
click to toggle source
# File lib/dogviz/container.rb, line 38 def render(renderer) if on_top_rollup? do_render_node renderer elsif !under_rollup? do_render_subgraph renderer end children.each { |c| c.render renderer } end
render_edges(renderer)
click to toggle source
# File lib/dogviz/container.rb, line 50 def render_edges(renderer) children.each { |c| c.render_edges renderer } end
Private Instance Methods
default_bounded_option(options)
click to toggle source
# File lib/dogviz/container.rb, line 78 def default_bounded_option(options) bounded = true if options.has_key? :bounded bounded = options[:bounded] end options[:bounded] = bounded end
do_render_node(renderer)
click to toggle source
# File lib/dogviz/container.rb, line 67 def do_render_node(renderer) @render_type = :node renderer.render_node(parent, id, render_options.merge(@attributes)) end
do_render_subgraph(renderer)
click to toggle source
# File lib/dogviz/container.rb, line 62 def do_render_subgraph(renderer) @render_type = :subgraph @subgraph = renderer.render_subgraph(parent, id, render_options.merge(@attributes)) end
init_rollup(options)
click to toggle source
# File lib/dogviz/container.rb, line 72 def init_rollup(options) @rollup = false rollup! if options[:rollup] options.delete(:rollup) end