class Twb::Analysis::DataSources::DataSourceFilesAnalyzer
Attributes
filesCount[R]
Public Class Methods
new(**args)
click to toggle source
# File lib/twb/analysis/DataSources/datasourcefilesanalyzer.rb, line 41 def initialize(**args) emit "initialize DataSourceFilesAnalyzer 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 Data Sources' Files", :description=>'Identifying the files accessed by Data Sources.',} @dataSourcesCount = 0 @recNum = 0 #-- @csvFile = initCSV(@@csvFileName, 'Data Sources and the Files they access.', @@csvFileHeader ) #-- @localEmit = false end
Public Instance Methods
processFiles(ds)
click to toggle source
# File lib/twb/analysis/DataSources/datasourcefilesanalyzer.rb, line 66 def processFiles ds dirFiles = Hash.new { |d,fs| d[fs] = Set.new } ds.node.xpath('.//connection[@filename]').each do |fnode| twbFileDir = fnode['directory'] twbFileName = fnode['filename'] fqFileName = twbFileDir.nil? ? twbFileName : twbFileDir + '/' + twbFileName fileName = File.basename fqFileName fileDir = File.dirname fqFileName exists = File.exist? fqFileName modtime = exists ? File.mtime(fqFileName) : nil size = exists ? File.size(fqFileName) : nil data = [@recNum+=1, @twbName, @twbDir, ds.uiname, fileName, fileDir, exists, modtime, size] @csvFile << data end end
processTWB(twb)
click to toggle source
# File lib/twb/analysis/DataSources/datasourcefilesanalyzer.rb, line 58 def processTWB twb @twbName = twb.name @twbDir = twb.dir twb.datasources.each do |ds| processFiles ds end end