class Twb::Analysis::DataSources::FieldsAliasesAnalyzer
Attributes
calculatedFieldsCount[R]
metrics[R]
referencedFieldsCount[R]
Public Class Methods
new(**args)
click to toggle source
# File lib/twb/analysis/DataSources/fieldsaliasesanalyzer.rb, line 39 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 @recNum = 0 #-- # @referencedFields = SortedSet.new #-- @csvFile = initCSV(@@csvFileName, 'Fields and their aliased values.', @@csvFileHeader ) #-- @localEmit = false # @imageFiles = Array.new #-- # @doGraph = config(:dograph) end
Public Instance Methods
processAliases(field)
click to toggle source
# File lib/twb/analysis/DataSources/fieldsaliasesanalyzer.rb, line 91 def processAliases field aliasNodes = field.node.xpath('./aliases//alias') aliasNodes.each do |anode| key = anode['key'] value = anode['value'] numberedRec = [ @recNum +=1, @twbName, @dsUIName, @fieldName, anode['key'].to_s.gsub(/^["]+/,'').gsub(/["]+$/,''), anode['value'] ] #-- if @recordDir @csvFile << numberedRec.push(@twbDir) else @csvFile << numberedRec end end end
processDS(ds)
click to toggle source
# File lib/twb/analysis/DataSources/fieldsaliasesanalyzer.rb, line 76 def processDS ds @dsUIName = ds.uiname @dsCaption = ds.caption @dsName = ds.name #-- ds.columnFields.each do |fld| if fld.hasaliases @fieldName = fld.name @fieldCaption = fld.caption @fieldUIName = fld.uiname processAliases(fld) end end end
processTWB(twb)
click to toggle source
# File lib/twb/analysis/DataSources/fieldsaliasesanalyzer.rb, line 68 def processTWB twb @twbName = twb.name @twDir = twb.dir twb.datasources.each do |ds| processDS ds end end