Class: Oolite::CSVDoc
- Inherits:
-
Object
- Object
- Oolite::CSVDoc
- Defined in:
- lib/oolite/csv_doc.rb
Instance Method Summary collapse
Instance Method Details
#add(line = []) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# 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 ⇒ Object
13 14 15 |
# File 'lib/oolite/csv_doc.rb', line 13 def lines @lines ||= Array.new end |
#pad_lines ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# 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) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# 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 |