class Twb::Analysis::ParametersAnalyzer

Attributes

localEmit[RW]
twbcount[R]
twbname[R]

Public Class Methods

new() click to toggle source
# File lib/twb/analysis/DataSources/parametersanalyzer.rb, line 30
def initialize
  init
  #-- set up metrics
  @paramscount = 0
  #--
  @funcdoc    = {:class=>self.class, :blurb=>'Analyzing Parameters from Tableau Workbooks.', :description=>nil,}
  docFileName = docFile('Parameters.csv')
  @csv        = CSV.open(docFileName, 'w')
  @csv       << ["Workbook",'Parameter','Caption','Name (tech)','Type','Format','Type (custom)','Type (domain)','Role', 'Value (current)', 'Value','Value (tech)']
              # [ @twbname,  name,       caption,  nameTech,     type,  format,  typeCustom,     domainType,     role]
  @docfiles = [{:name=>docFileName,:description=>"CSV File containing the data relevant for Parameters."}]
end

Public Instance Methods

metrics() click to toggle source
# File lib/twb/analysis/DataSources/parametersanalyzer.rb, line 85
def metrics
  {
    '# of Parameters' => @paramscount,
  }
end
processTWB(twb) click to toggle source

param-domain-type : 11 role : 11 type : 11 value : 11 default-format : 7 alias : 1

# File lib/twb/analysis/DataSources/parametersanalyzer.rb, line 56
def processTWB twb
  if Twb::Workbook != twb.class
    @twb = Twb::Workbook.new twb
  else
    @twb = twb
  end
  @twbname = @twb.name
  emit  "Workbook:: #{@twbname}"
  paramsDS = @twb.datasource 'Parameters'
  @twb.parameters.each do |pName,param|
    @paramscount += 1
    param.values.each do |values|
      @csv       << [ @twbname,
                      param.uiname,
                      param.caption,
                      param.name,
                      param.type,
                      param.format,
                      param.dataTypeCustom,
                      param.domainType,
                      param.role,
                      param.currentValue, # 'Value (current)',
                      values[:value],     # 'Value',
                      values[:valueTech]      # 'Value (tech)'
                    ]
    end
  end
end