class Twb::Analysis::WorksheetSummarizer
Attributes
localEmit[RW]
Public Class Methods
new(**args)
click to toggle source
Worksheet
attributes; from Worksheet.rb attr_reader :node, :name, :datasourcenames, :datasources attr_reader :panesCount attr_reader :fields, :rowFields, :colFields, :paneFields, :datasourceFields, :pageFields, :encodedFields, :slicesFields attr_reader :filters attr_reader :tooltip attr_accessor :hidden, :visible
# File lib/twb/analysis/Sheets/worksheetsummarizer.rb, line 36 def initialize(**args) @args = args @recordDir = !@args.nil? && @args[:recordDir] == true @ttdocdir = @args[:ttdocdir] @csvAdd = !@args.nil? && args[:csvMode] == :add @csvMode = @csvAdd ? 'a' : 'w' init @funcdoc = {:class=>self.class, :blurb=>'Summarize Worksheets', :description=>'Identifies Worksheets & summarizes them.',} #-- docFileName = docFile('WorkheetSummaries.csv') @worksheetsCSV = CSV.open(docFileName,@csvMode) unless @csvAdd @csvHeader = [ 'Rec #', 'Workbook', 'Worksheet', 'Hidden', 'Visible', '# Data Sources', '# Fields - Data', '# Fields - Rows', '# Fields - Cols', 'Tooltip?', 'Filters?' ] if @recordDir @csvHeader.push 'Workbook Dir' end @worksheetsCSV << @csvHeader end addDocFile @worksheetsCSV, docFileName, "Workbooks and their Worksheets' summaries." #-- @twbCount = 0 @sheetCount = 0 @recNum = 0 end
Public Instance Methods
metrics()
click to toggle source
# File lib/twb/analysis/Sheets/worksheetsummarizer.rb, line 68 def metrics { '# of Worksheets' => @sheetCount } end
parseSheets()
click to toggle source
# File lib/twb/analysis/Sheets/worksheetsummarizer.rb, line 85 def parseSheets @worksheets = @twb.worksheets @worksheets.each do |sheet| emit "SHEET:: #{sheet.name}" @sheetCount += 1 recordCSV [ @twbName, sheet.name, sheet.hidden, sheet.visible, sheet.datasources.length, sheet.datasourceFields.length, sheet.rowFields.length, sheet.colFields.length, !sheet.tooltip.nil?, !sheet.filters.nil?, ] end end
processTWB(twb)
click to toggle source
# File lib/twb/analysis/Sheets/worksheetsummarizer.rb, line 74 def processTWB twb @twb = twb @twbName = @twb.name @twbDir = @twb.dir @modTime = @twb.modtime emit " -- #{@twbName}" @twbCount += 1 parseSheets finis end
Private Instance Methods
recordCSV(record)
click to toggle source
# File lib/twb/analysis/Sheets/worksheetsummarizer.rb, line 106 def recordCSV record numberedRec = [@recNum+=1] + record if @recordDir @worksheetsCSV << numberedRec.push(@twbDir) else @worksheetsCSV << numberedRec end end