Class: Which
Recurse through aDir for yaml files, unless it is “zz_archive”. Return: [ [filelist], [[directory,last report in directory]] ]
# File reportreader.rb, line 29 def process_files( aDir ) #require 'find' unless FileTest.directory?(aDir) puts "Error. Invalid input for report directory: #{aDir}." exit end # unless @@files = [] @@directories = [] private def process_files_recurse(aDir) @@tempFiles = [] Dir.foreach( aDir ) { |f| myPath = "#{aDir}\/#{f}" if FileTest.directory?(myPath) and f != '.' and f != '..' and f != 'zz_archive' #arr = f.split('/') #arr2 = arr[arr.length - 1] #@@directories.push(arr2) process_files_recurse(myPath) else @@tempFiles.push(myPath) if f.match(%r\.yaml\Z/) end } # Find.find( aDir ) { |f| sortedTempFiles = @@tempFiles.sort @@files.push(sortedTempFiles) @@directories.push([aDir[%r[^\/]+$/],sortedTempFiles[sortedTempFiles.length - 1]]) end # def process_files_recurse (aDir) process_files_recurse(aDir) files = @@files.sort.flatten directories = @@directories[0..(@@directories.length - 2)].sort_by { |e| e.nil? ? 'z' : e[0] } return files,directories end
# File reportreader.rb, line 41 def process_files_recurse(aDir) @@tempFiles = [] Dir.foreach( aDir ) { |f| myPath = "#{aDir}\/#{f}" if FileTest.directory?(myPath) and f != '.' and f != '..' and f != 'zz_archive' #arr = f.split('/') #arr2 = arr[arr.length - 1] #@@directories.push(arr2) process_files_recurse(myPath) else @@tempFiles.push(myPath) if f.match(%r\.yaml\Z/) end } # Find.find( aDir ) { |f| sortedTempFiles = @@tempFiles.sort @@files.push(sortedTempFiles) @@directories.push([aDir[%r[^\/]+$/],sortedTempFiles[sortedTempFiles.length - 1]]) end