class Slurpee::CSV
Attributes
data[RW]
key_order[RW]
row_count[RW]
Public Class Methods
new(keys)
click to toggle source
create
# File lib/slurpee/csv.rb, line 6 def initialize(keys) @data = {} @key_order = {} @row_count = 0 keys.each_with_index do |key, i| @key_order[i] = key @data[key] = [] end end
Public Instance Methods
column(index)
click to toggle source
O(1) read
# File lib/slurpee/csv.rb, line 31 def column(index) @data[index] end
new_row!(params)
click to toggle source
O(k) update
# File lib/slurpee/csv.rb, line 37 def new_row!(params) @key_order.each do |k, v| @data[v] << (params[v].nil?? "" : params[v]) end @row_count+=1 end
row(index)
click to toggle source
O© ugh fix read
# File lib/slurpee/csv.rb, line 19 def row(index) row_str = "" @data.each do |j, w| row_str << "#{w[index]}, " end row_str end
rows()
click to toggle source
O(cr) ugh super fix plz show
# File lib/slurpee/csv.rb, line 47 def rows rows = [] (0..@row_count).each do |i| rows << row(i) end rows end