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