class Oolite::CSVDoc

Public Instance Methods

add(line = []) click to toggle source
# File lib/oolite/csv_doc.rb, line 17
def add line = []
  new_line = Array.new

  Array(line).each do |elem|
    if elem.include?(',')
      # Quote element if it contains a comma
      new_line << "\"#{elem}\""
    else
      new_line << elem
    end
  end

  lines << new_line
end
lines() click to toggle source
# File lib/oolite/csv_doc.rb, line 13
def lines
  @lines ||= Array.new
end
pad_lines() click to toggle source
# File lib/oolite/csv_doc.rb, line 44
def pad_lines
  max = 0
  lines.each do |line|
    len = line.count
    if len > max
      max = len
    end
  end

  padded_lines = Array.new
  lines.each do |line|
    if line.count < max
      pads = max = line.count
      pads.times.each do
        line << ''
      end
    end
    padded_lines << line
  end

  @lines = padded_lines
end
write(filepath) click to toggle source
# File lib/oolite/csv_doc.rb, line 32
def write filepath
  pad_lines
  output_lines = Array.new
  lines.each do |line|
    output_lines << line.join(',')
  end

  File.open(filepath, 'w') do |f|
    f.write(output_lines.join("\n"))
  end
end