class Code

Attributes

indent[RW]
lines[RW]

Public Class Methods

new(str=nil) click to toggle source
# File lib/rtl/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/rtl/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
finalize() click to toggle source
# File lib/rtl/code.rb, line 26
def finalize
  return @lines.join("\n") if @lines.any?
  ""
end
newline() click to toggle source
# File lib/rtl/code.rb, line 31
def newline
  @lines << " "
end
save_as(filename,verbose=true) click to toggle source
# File lib/rtl/code.rb, line 35
def save_as filename,verbose=true
  str=self.finalize
  File.open(filename,'w'){|f| f.puts(str)}
  puts "code saved as : #{filename}" if verbose
  return filename
end
size() click to toggle source
# File lib/rtl/code.rb, line 42
def size
  @lines.size
end