class Twb::Analysis::FieldsAliasesAnalyzer
Attributes
calculatedFieldsCount[R]
metrics[R]
referencedFieldsCount[R]
Public Class Methods
new(**args)
click to toggle source
# File lib/twb/analysis/CalculatedFields/fieldsaliasesanalyzer.rb, line 46 def initialize(**args) emit "initialize FieldsAliasesAnalyzer args #{args}" @args = args @recordDir = !@args.nil? && @args[:recordDir] == true @ttdocdir = @args[:ttdocdir] @csvAdd = @args[:csvMode] == :add @csvMode = @csvAdd ? 'a' : 'w' init @funcdoc = {:class=>self.class, :blurb=>"Analyze Fields' Aliases", :description=>'Understanding the aliases for field values can be important and useful.',} #-- CSV records collectors # @csvFormulaFields = Set.new # @csvFormulaLines = Set.new #-- Counters setup -- # @twbCount = 0 @dataSourcesCount = 0 @aliasedFieldsCount = 0 @aliasessCount = 0 #-- # @referencedFields = SortedSet.new #-- twbdirLabel = @recordDir.nil? ? nil : 'Workbook Dir' @csvFile = initCSV(@@calcFieldsCSVFileName, 'Calculated fields and their formulas.', @@csvFileHeader ) #-- @localEmit = false # @imageFiles = Array.new #-- # @doGraph = config(:dograph) end
Public Instance Methods
processAliases(aliasesNode)
click to toggle source
# File lib/twb/analysis/CalculatedFields/fieldsaliasesanalyzer.rb, line 92 def processAliases aliasesNode #-- Field -- caption = d.xpath('../../@caption').text techName = d.xpath('../../@name').text name = if caption == '' then getName(techName) else caption end dataType = d.xpath('../../@datatype').text role = d.xpath('../../@role').text type = d.xpath('../../@type').text #-- Alias -- aliasKey = d.xpath('./@key').text aliasValue = d.xpath('./@value').text end
processDS(ds)
click to toggle source
# File lib/twb/analysis/CalculatedFields/fieldsaliasesanalyzer.rb, line 81 def processDS ds @dsUIName = ds.uiname @dsCaption = ds.caption @dsName = ds.name #-- aliasesNodes = ds.node.xpath('.//aliases') aliasesNodes.each do |an| processAliases an end end
processTWB(twb)
click to toggle source
# File lib/twb/analysis/CalculatedFields/fieldsaliasesanalyzer.rb, line 75 def processTWB twb twb.datasources.each do |ds| processDS ds end end