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