Class: Preprocessor

Inherits:
Object
  • Object
show all
Defined in:
lib/ui-auto-monkey/tuneup/test_runner/preprocessor.rb

Class Method Summary collapse

Class Method Details

.process(file) ⇒ Object



2
3
4
# File 'lib/ui-auto-monkey/tuneup/test_runner/preprocessor.rb', line 2

def self.process(file)
  self.process_imports(file, [])
end

.process_imports(file, imported_file_names) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ui-auto-monkey/tuneup/test_runner/preprocessor.rb', line 8

def self.process_imports(file, imported_file_names)
  content = File.read(file)
  content.gsub(IMPORT_STATEMENT) do
    next if imported_file_names.include? $1
    
    imported_file_names << $1
    import_file = File.join(File.dirname(file), $1)
    begin
      "// begin #{File.basename($1)}" << "\n" << 
      process_imports(import_file, imported_file_names) << "\n" <<
      "// end #{File.basename($1)}" << "\n"
    rescue Exception => e
      STDERR.puts "Unable to process file #{import_file}: #{e}"
      $&
    end
  end
end