class CSVUtils::CSVWrapper

Wraps a CSV object, if wrapper opens the csv file it will close it

Attributes

csv[R]

Public Class Methods

new(csv, mode, csv_options) click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 5
def initialize(csv, mode, csv_options)
  open(csv, mode, csv_options)
end
open(file, mode, csv_options = {}) { |csv| ... } click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 9
def self.open(file, mode, csv_options = {})
  csv = new(file, mode, csv_options)

  if block_given?
    yield csv
    csv.close
  else
    csv
  end
end

Public Instance Methods

<<(row) click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 30
def <<(row)
  csv << row
end
close() click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 42
def close
  csv.close if close_when_done?
end
open(csv, mode, csv_options) click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 20
def open(csv, mode, csv_options)
  if csv.is_a?(String)
    @close_when_done = true
    @csv = CSV.open(csv, mode, **csv_options)
  else
    @close_when_done = false
    @csv = csv
  end
end
rewind() click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 38
def rewind
  csv.rewind
end
shift() click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 34
def shift
  csv.shift
end

Private Instance Methods

close_when_done?() click to toggle source
# File lib/csv_utils/csv_wrapper.rb, line 48
def close_when_done?
  @close_when_done
end