module Twb::Util

Public Instance Methods

addImageToTwb(twb, image) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 52
def addImageToTwb(twb, image)
  dash = Twb::DocDashboardImageVert.new
  dash.image=(image)
  dash.title=('Dashboards, Worksheets, and Data Sources')
  twb.addDocDashboard(dash)
  twb.writeAppend('dot')
end
buildBody(dotFile,pairs) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 78
def buildBody(dotFile,pairs)
  dotFile.puts "\n   subgraph cluster_1 {"
  dotFile.puts "       color= grey;"
  dotFile.puts ""
  pairs.each { |pair| dotFile.puts "      \"#{pair[0]}\" -> \"#{pair[1]}\" " }
  dotFile.puts ""
  dotFile.puts "   }"
end
buildHeader(dotFile) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 97
def buildHeader dotFile
  dotFile.puts ''
  dotFile.puts '   subgraph cluster_0 {'
  dotFile.puts '     color=white;'
  dotFile.puts '     node [shape="box3d"  style="filled" ];'
  dotFile.puts '     "Workbook" -> "Dashboard" -> "Worksheet" -> "Data Source"'
  dotFile.puts '   }'
end
closeDot(dotFile) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 106
def closeDot dotFile
  dotFile.puts ' '
  dotFile.puts '// -------------------------------------------------------------'
  dotFile.puts '}'
end
initDot(twb) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 72
def initDot twb
  dotFile = File.open("#{twb.name}.dot",'w')
  dotFile.puts @@dotHeader
  return dotFile
end
inject(twb, dashboard, htmlfilename) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 60
def inject(twb, dashboard, htmlfilename)
  vDash = Twb::DocDashboardWebVert.new
  vDash.title=('Doc Dashboard: ' + sanitize(dashboard))
  vDash.url=($localurl  + '/' + htmlfilename)
  twb.addDocDashboard(vDash)
  if $replacetwb
    twb.write
  else
    twb.writeAppend($dashdoclbl)
  end
end
processDashboards(twb) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 112
def processDashboards twb
  pairs = []
  twb.dashboards.each do |dashName,dash|
    pairs          << [twb.name,dashName]
    sheets = dash.worksheets
    sheets.each do |sheetName,sheet|
      pairs << [dashName,sheetName]
      $worksheets.delete sheetName
      $sheetCnt += 1
    end
    $dashCnt += 1
  end
  return pairs
end
processOrphans(twb) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 140
def processOrphans twb
  pairs = []
  $datasources.each { |dsn| pairs << [twb.name,dsn] }
  $worksheets.each  { |wsn| pairs << [twb.name,wsn] }
  return pairs
end
processWorksheets(twb) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 127
def processWorksheets twb
  pairs = []
  worksheets  = twb.worksheets
  worksheets.each do |sheetName,sheet|
    datasources = sheet.datasources
    datasources.each do |dsName,ds|
      pairs        << [sheetName,ds.uiname]
      $datasources.delete ds.uiname
    end
  end
  return pairs
end
renderDot(twb,dot) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 47
def renderDot(twb,dot)
  image = twb + '.png'
  return image
end
sameRank(dotFile, elements) click to toggle source
# File lib/twb/util/twbDashSheetDataDotRenderer.rb, line 87
def sameRank(dotFile, elements)
  dotFile.puts "\n  {rank=same "
  elements.each do |e|
    dotFile.puts "     \"#{e}\""
  end
  dotFile.puts "  }"

end