class IndexHTMLFile
Public Class Methods
new(directory)
click to toggle source
# File lib/IndexHTMLFile.rb, line 5 def initialize(directory) @directory = directory @totalLines = 0 @totalValidLines = 0 @totalInvalidLines = 0 @indexHTMLString = "" end
Public Instance Methods
addAnalysisFilesTable()
click to toggle source
# File lib/IndexHTMLFile.rb, line 76 def addAnalysisFilesTable @indexHTML.puts "<table cellpadding=\"0\" cellspacing=\"10\" class=\"table\" bgcolor=\"#E8E8E8\" col width=\"800\">" @indexHTML.puts "<tr>" @indexHTML.puts "<th>File</th>" @indexHTML.puts "<th>Invalid Statements</th>" @indexHTML.puts "<th>Percent Valid</th>" @indexHTML.puts "</tr>" @indexHTML.puts @indexHTMLString @indexHTML.puts "</table>" end
addAnalysisItem(analysisFile)
click to toggle source
# File lib/IndexHTMLFile.rb, line 17 def addAnalysisItem (analysisFile) @totalLines += analysisFile.totalLines @totalInvalidLines += analysisFile.invalidLines @totalValidLines += analysisFile.validLines htmlFileName = analysisFile.name htmlFileName = htmlFileName.gsub(".swift", "") htmlFileName = htmlFileName.gsub("./", "") @indexHTMLString += "<tr>" @indexHTMLString += "\n<td>" @indexHTMLString += "\n<a href=\"#{analysisFile.directory.gsub(@directory + "/", "")}/#{analysisFile.name}.html\">#{htmlFileName}.html</a>" @indexHTMLString += "\n</td>" @indexHTMLString += "\n<td align=\"center\">" @indexHTMLString += "\n#{analysisFile.invalidLines}" @indexHTMLString += "\n</td>" validLinePercentage = ((analysisFile.invalidLines / Float(analysisFile.totalLines) - 1) * -100).round color = colorForValidLinePercentage validLinePercentage @indexHTMLString += "\n<td align=\"center\" bgcolor=\"#{color}\">" @indexHTMLString += "\n#{validLinePercentage}%" @indexHTMLString += "\n</td>" @indexHTMLString += "\n</tr>" end
addTotalStatsTable()
click to toggle source
# File lib/IndexHTMLFile.rb, line 42 def addTotalStatsTable @indexHTML.puts "<table cellpadding=\"0\" cellspacing=\"10\" class=\"table\" bgcolor=\"#E8E8E8\" col width=\"800\">" @indexHTML.puts "<tr>" @indexHTML.puts "<th>Total Lines</th>" @indexHTML.puts "<th>Invalid Lines</th>" @indexHTML.puts "<th>Valid Lines</th>" @indexHTML.puts "<th>Percent Valid</th>" @indexHTML.puts "</tr>" @indexHTML.puts "<tr>" @indexHTML.puts "<td align=\"center\">" @indexHTML.puts "#{@totalLines}" @indexHTML.puts "</td>" @indexHTML.puts "<td align=\"center\">" @indexHTML.puts "#{@totalInvalidLines}" @indexHTML.puts "</td>" @indexHTML.puts "<td align=\"center\">" @indexHTML.puts "#{@totalValidLines}" @indexHTML.puts "</td>" validLinePercentage = ((@totalInvalidLines / Float(@totalLines) - 1) * -1 * 100).round color = colorForValidLinePercentage validLinePercentage @indexHTML.puts "<td align=\"center\" bgcolor=\"#{color}\">" @indexHTML.puts "#{validLinePercentage}%" @indexHTML.puts "</td>" @indexHTML.puts "</tr>" @indexHTML.puts "</table>" end
beginWriting()
click to toggle source
# File lib/IndexHTMLFile.rb, line 13 def beginWriting @indexHTML = File.new("#{@directory}/index.html", "w+") end
colorForValidLinePercentage(percentage)
click to toggle source
# File lib/IndexHTMLFile.rb, line 87 def colorForValidLinePercentage (percentage) if percentage >= 95 return "#52CC52" # Green end if percentage >= 90 and percentage < 95 return "yellow" end if percentage < 90 return "#FF0000" # Red end end
endWriting()
click to toggle source
# File lib/IndexHTMLFile.rb, line 101 def endWriting @indexHTML.puts "<HTML><BODY>" addTotalStatsTable addAnalysisFilesTable @indexHTML.puts "</BODY></HTML>" @indexHTML.close() end