class Twb::Analysis::DocumentedFieldsCSVEmitter
Attributes
csvFileName[R]
csvRecords[R]
dsCount[R]
fieldsCount[R]
Public Class Methods
csvFileNaame()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 58 def self.csvFileNaame @@csvFileName end
csvFileType()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 54 def self.csvFileType @@csvFileType end
csvHeader()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 50 def self.csvHeader @@csvHeader end
new()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 39 def initialize @csvFile = CSV.open(@@csvFileName,'w') @csvFile << @@csvHeader @csvRecords = Set.new puts "Opened: #{!@csvFile.nil?} - #{@@csvFileName}" # -- @recNum = 0 @dsCount = 0 @fieldsCount = 0 end
Public Instance Methods
cleanup()
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 201 def cleanup @csvFile.close unless @csvFile.nil? end
emitFields(fields)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 148 def emitFields fields fields.each do |fieldName,props| # puts "FIELD:: %-40s :: %s" % [fieldName,props.inspect] # class = props[] csvRec = [ @recNum+=1, @twb.name, @twb.dir, @dsname, fieldName, props[:type], props['hidden'], props[:columnField], props[:calculatedField], props[:dbField], props[:mappedField], props[:metadataField] ] @csvFile << csvRec @csvRecords.add csvRec end end
emitTech(dataSource, fieldName, type, properties)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 185 def emitTech dataSource, fieldName, type, properties # puts "XX #{dataSource.uiname} :: #{fieldName} #{} :: #{type} :: #{properties}" @recNum+=1 properties.each do |name,value| @csvFileTech << [ @recNum, @twb.name, @twb.dir, dataSource.uiname, fieldName, type, name, value ] end end
processTwb(twb)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 62 def processTwb twb @twb = nil @twb = twb if twb.instance_of? Twb::Workbook @twb = Twb::Workbook.new(twb) if twb.instance_of? String raise ArgumentError.new("ERROR in Workbok processing: '#{twb}' must be a Workbook (class) or the name of a Workbook (String), is a #{twb.class} \n ") unless @twb.is_a? Twb::Workbook # -- dss = @twb.datasources dss.each do |ds| @dsname = ds.uiname # puts "\n -- #{ds.uiname} " # tables = Set.new fields = {} @dsCount += 1 fclasses = Set.new ds.localFields.each do |field| recordFieldFull field, :local # recordField( fields, field, {:type=>:local,:columnField=>true,:hidden=>field.hidden} ) # emitTech( ds, field.uiname, 'Local', field.properties) # recordTech( field, 'LocalA') end ds.columnFields.each do |field| recordFieldFull field, :column # recordField( fields, field, {:type=>'column',:columnField=>true,:hidden=>field.hidden} ) # emitTech( ds, field.uiname, 'Column', field.properties) # recordTech( field, 'ColumnA') end ds.calculatedFields.each do |field| recordFieldFull field, :calc # puts "WWW #{field.class} :: #{field} ::prop:: #{field.properties.class} :: #{field.properties}" # recordField( fields, field, {:type=>'calc',:calculatedField=>true,:hidden=>field.hidden} ) # emitTech( ds, field.uiname, 'Calculated', field.properties) # recordTech( field, 'CalcA') end ds.metadataFields.each do |field| recordFieldFull field, :metadata # recordField( fields, field, {:type=>'metadata',:metadataField=>true} ) # emitTech( ds, field.uiname, 'MetaData', field.properties) # recordTech( field, 'MetadataA') end ds.dbFields.each do |field| recordFieldFull field, :db # recordField( fields, field, {:type=>'database',:dbField=>true} ) # emitTech( ds, field.uiname, 'Db', field.properties) # recordTech( field, 'DbA') end ds.mappedFields.each do |field| recordFieldFull field, :mapped # recordField( fields, field, {:type=>'mapped',:mappedField=>true} ) # emitTech( ds, field.uiname, 'Mapped', field.properties) # recordTech( field, 'MappedA') end emitFields(fields) end end
recordField(fields, field, props)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 138 def recordField fields, field, props # puts "%-65s :: %s " % [fieldName,props] return if field.uiname.nil? if fields.has_key? field.uiname fields[field.uiname].merge! field.properties else fields[field.uiname] = field.properties end end
recordFieldFull(field, source)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 117 def recordFieldFull field, source # print field.properties.nil? ? '-' : ":#{field.properties.length}" # puts field.properties @recNum+=1 field.properties.each do |name,value| # print name @csvFileFull << [ @recNum, @twb.name, @twb.dir, @dsname, field.uiname, source, field.class, field.node.path.to_s.gsub(/[0-9]/,'').gsub('[]',''), name, value ] # @csvFileFull << csvRec end end
recordTech(field, type)
click to toggle source
# File lib/twb/analysis/DocumentedFieldsCSVEmitter.rb, line 170 def recordTech field, type @recNum+=1 field.properties.each do |name,value| @csvFileTech << [ @recNum, @twb.name, @twb.dir, @dsname, field.uiname, type, name, value ] end end