module Dogviz::Common
Public Instance Methods
ancestors()
click to toggle source
# File lib/dogviz/common.rb, line 14 def ancestors ancestors = [parent] loop do break unless ancestors.last.respond_to?(:parent) ancestors << ancestors.last.parent end ancestors end
create_id(name, parent)
click to toggle source
# File lib/dogviz/common.rb, line 3 def create_id(name, parent) parts = [] parts << parent.id if parent.respond_to? :id parts += name.split(/\s/) parts.join '_' end
doclink(url)
click to toggle source
# File lib/dogviz/common.rb, line 29 def doclink(url) setup_render_attributes(URL: url) end
in_rollup?()
click to toggle source
# File lib/dogviz/common.rb, line 76 def in_rollup? rollup? || under_rollup? end
in_skip?()
click to toggle source
# File lib/dogviz/common.rb, line 64 def in_skip? skip? || under_skip? end
info(fields)
click to toggle source
# File lib/dogviz/common.rb, line 23 def info(fields) @info.merge! fields setup_render_attributes(label: label_with_info) self end
inherited_render_options()
click to toggle source
# File lib/dogviz/common.rb, line 84 def inherited_render_options inherited = {} inherited[:fontname] = parent.render_options[:fontname] if parent.render_options.include?(:fontname) inherited end
label_with_info()
click to toggle source
# File lib/dogviz/common.rb, line 33 def label_with_info lines = [name] @info.each { |k, v| lines << "#{k}: #{v}" } lines.join "\n" end
on_top_rollup?()
click to toggle source
# File lib/dogviz/common.rb, line 80 def on_top_rollup? rollup? && !under_rollup? end
rollup!()
click to toggle source
# File lib/dogviz/common.rb, line 50 def rollup! @rollup = true self end
rollup?()
click to toggle source
# File lib/dogviz/common.rb, line 46 def rollup? @rollup end
root()
click to toggle source
# File lib/dogviz/common.rb, line 10 def root ancestors.last end
setup_render_attributes(attributes)
click to toggle source
# File lib/dogviz/common.rb, line 41 def setup_render_attributes(attributes) @attributes ||= {} @attributes.merge!(attributes) end
skip!()
click to toggle source
# File lib/dogviz/common.rb, line 55 def skip! @skip = true self end
skip?()
click to toggle source
# File lib/dogviz/common.rb, line 60 def skip? @skip end
under_rollup?()
click to toggle source
# File lib/dogviz/common.rb, line 72 def under_rollup? ancestors.any?(&:rollup?) end
under_skip?()
click to toggle source
# File lib/dogviz/common.rb, line 68 def under_skip? ancestors.any?(&:skip?) end