Class: FormGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/FormGenerator.rb

Instance Method Summary collapse

Constructor Details

#initialize(searchDirectoryArg, outputDirectory) ⇒ FormGenerator

Returns a new instance of FormGenerator.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/FormGenerator.rb', line 9

def initialize(searchDirectoryArg, outputDirectory)

  @analysisDirectory = "SwiftStyleGuideValidator"
  if outputDirectory != nil
    @analysisDirectory = "#{outputDirectory}/#{@analysisDirectory}"
  end

  @filesDir = "AnalysisFiles"

  @searchDirectoryArg = "."
  if searchDirectoryArg != nil
    @searchDirectoryArg = searchDirectoryArg
    @searchDirectoryArg = searchDirectoryArg.chomp("/") 
  end

end

Instance Method Details

#addItem(item) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/FormGenerator.rb', line 54

def addItem (item)
  analysisFile = AnalysisHTMLFile.new("#{@analysisDirectory}/#{@filesDir}", item)
    analysisFile.beginWriting
    
    f = File.open(item, "r")
  f.each_line do |line|
    analysisFile.addLine (line)
  end
  f.close

  @IndexHTMLFile.addAnalysisItem (analysisFile)

  analysisFile.endWriting
end

#directoryHasSwiftFilesObject



69
70
71
72
73
74
75
76
77
# File 'lib/FormGenerator.rb', line 69

def directoryHasSwiftFiles
  hasSwiftFiles = false
  Dir.glob("#{@searchDirectoryArg}/**/*.swift") do |item|
     next if item == '.' or item == '..' 
     hasSwiftFiles = true
     break
  end
  hasSwiftFiles
end

#generateFormObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/FormGenerator.rb', line 26

def generateForm
  if directoryHasSwiftFiles == true
    if File.directory?(@analysisDirectory)
      FileUtils.rm_rf(@analysisDirectory)
    end
    Dir.mkdir(@analysisDirectory)

    @IndexHTMLFile = IndexHTMLFile.new(@analysisDirectory)
    @IndexHTMLFile.beginWriting
           
           counter = 0
           
    Dir.glob("#{@searchDirectoryArg}/**/*.swift") do |item|
        next if item == '.' or item == '..'
        addItem item
               counter += 1
               if counter % 50 == 0
                   print "Files processed: #{counter}\r"
               end
    end
           puts

    @IndexHTMLFile.endWriting
  else
    puts "No Swift files found in directory #{@searchDirectoryArg}"
  end
end