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