class Code
Attributes
indent[RW]
lines[RW]
Public Class Methods
new(str=nil)
click to toggle source
# File lib/vertigo/code.rb, line 5 def initialize str=nil @lines=[] (@lines << str) if str @indent=0 end
Public Instance Methods
<<(thing)
click to toggle source
# File lib/vertigo/code.rb, line 11 def <<(thing) if (code=thing).is_a? Code code.lines.each do |line| @lines << " "*@indent+line.to_s end elsif thing.is_a? Array thing.each do |kode| @lines << kode end elsif thing.nil? else @lines << " "*@indent+thing.to_s end end
clean(str)
click to toggle source
# File lib/vertigo/code.rb, line 33 def clean str str=str.gsub(/;[\s\n]*;/ ,';') str=str.gsub(/;[\s\n]*\)/ ,')') str=str.gsub(/,[\s\n]*\)/,')') end
finalize()
click to toggle source
# File lib/vertigo/code.rb, line 26 def finalize str=@lines.join("\n") if @lines.any? str=clean(str) return str if @lines.any? "" end
last()
click to toggle source
# File lib/vertigo/code.rb, line 53 def last @lines.last end
newline()
click to toggle source
# File lib/vertigo/code.rb, line 39 def newline @lines << " " end
save_as(filename,verbose=true)
click to toggle source
# File lib/vertigo/code.rb, line 43 def save_as filename,verbose=true str=self.finalize File.open(filename,'w'){|f| f.puts(str)} return filename end
size()
click to toggle source
# File lib/vertigo/code.rb, line 49 def size @lines.size end