class Iiko::CSV

Attributes

h[RW]
headers[RW]
options[RW]
path_to_csv[R]
raw[R]

Public Class Methods

new(path_to_csv, options = {}) click to toggle source
# File lib/iiko/csv.rb, line 11
def initialize(path_to_csv, options = {})
  @options = { col_sep: ';', quote_char: "\'" }.merge(options)
  @options[:headers] = false

  raise ArgumentError, "'path_to_csv' is required" unless path_to_csv
  @path_to_csv = path_to_csv
end

Public Instance Methods

data() click to toggle source
# File lib/iiko/csv.rb, line 25
def data
  raw[1..-1]
end
load() click to toggle source
# File lib/iiko/csv.rb, line 19
def load
  @raw = ::CSV.read(path_to_csv, options)
  prepare_headers
  self
end

Private Instance Methods

prepare_headers() click to toggle source
# File lib/iiko/csv.rb, line 31
def prepare_headers
  @headers = {}
  @raw[0].each_with_index { |field, index| @headers[field] = index }
end