class Twb::Util::AtomizeCSVRecords
Attributes
metrics[R]
include Graph
ttdocdir[RW]
Public Class Methods
new(**args)
click to toggle source
# File lib/twb/util/atomizecsvrecords.rb, line 35 def initialize(**args) @ttdocdir = @args[:ttdocdir] @csvAdd = @args[:csvMode] == :add @csvMode = @csvAdd ? 'a' : 'w' init @funcdoc = {:class=>self.class, :blurb=>'Analyze Calculated Fields', :description=>'Calculated fields can be complex, this tool provides robust coverage.',} # -- @executed = false end
Public Instance Methods
loadFields(fileName)
click to toggle source
# File lib/twb/util/atomizecsvrecords.rb, line 45 def loadFields fileName fields = Set.new file = File.open(fileName) unless file.nil? file.each_line { |line| fields.add line.chomp } end return fields end
loadMetrics()
click to toggle source
# File lib/twb/util/atomizecsvrecords.rb, line 92 def loadMetrics @metrics = { '# of Data Sources' => @dataSourcesCount, '# of Calculated Fields' => @calculatedFieldsCount, '# of Referenced Fields' => @referencedFieldsCount, } end
processData(fileName)
click to toggle source
# File lib/twb/util/atomizecsvrecords.rb, line 62 def processData fileName unless @executed emit true, "initialize AtomizeCSVRecords args #{args}" @atomicCSV = CSV.open(@@csvFileName, 'w') # -- inputFileName = fileName.nil? ? 'csvData.csv' : fileName keyFields = loadFields 'key.fields' excludeFields = loadFields 'exclude.fields' puts "\t Using these key fields: #{$keyFields.inspect}" puts "\t Excluding these fields: #{$excludeFields.inspect}" $fieldValsCSV = '.csv' $atomicCSV = CSV.open($fieldValsCSV, 'w') $atomicFields = $keyFields.to_a + [ 'Rec #', 'Field', 'Value' ] puts "\n\t CSV output fields: #{$atomicFields.inspect}" $atomicCSV << $atomicFields $recCnt, $fldsCnt = 0, 0 $recNum = 0 @executed = true end end
processTWB(workbook)
click to toggle source
# File lib/twb/util/atomizecsvrecords.rb, line 56 def processTWB workbook puts "\n\t ALERT: Utility tool: #{self.class} - does not implement Workbook processing" puts "\t - deferring to single execution" processData fileName end