class AnalyzedClassGenerator
Public Instance Methods
classNameForLine(line, name)
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 107 def classNameForLine (line, name) if LineDeterminator.new(line).isClass and name == nil if line.include? ":" return line.strip.slice(5..(line.strip.index(":")-1)) else strippedLine = line.gsub("class", "").strip return strippedLine.slice(0..(strippedLine.index(" ")-1)) end end return nil end
generateAnalyzedClassesForFile(file)
click to toggle source
# File lib/AnalyzedClassGenerator.rb, line 52 def generateAnalyzedClassesForFile (file) analyzedClasses = Array.new analyzedClass = AnalyzedClass.new f = File.open(file, "r") f.each_line do |line| tempClassName = classNameForLine line, analyzedClass.name if tempClassName != nil analyzedClass.name = tempClassName end if analyzedClass.name != nil if line.strip.length > 1 analyzedClass.numberOfLines += 1 end if analyzedClass.fileName == nil analyzedClass.fileName = file end updateCurlyBraceIndex line if line.include? "func " @functionName = line.slice((line.index("func ") + 5)..(line.index("(")-1)) end if @functionName != nil updateFunctionCurlyBraceIndex line if line.strip.length > 0 @funcLines = @funcLines + 1 end if didReachEndOfFunction analyzedClass.addFunction(@functionName, @funcLines) resetFunctionStats end end if (line.include? "var " or line.include? "let ") variable = Variable.new.variableForLine line analyzedClass.addVariable variable end if didReachEndOfClass analyzedClasses.push(analyzedClass) resetClassStats analyzedClass = AnalyzedClass.new end end end f.close return analyzedClasses end