class ROM::CSV::Dataset

Dataset for CSV

@api public

Public Class Methods

row_proc() click to toggle source

Convert each CSV::Row to a hash

@api public

# File lib/rom/csv/dataset.rb, line 15
def self.row_proc
  -> row { row.to_hash }
end

Public Instance Methods

count() click to toggle source
# File lib/rom/csv/dataset.rb, line 39
def count
  data.count
end
load_data() click to toggle source
# File lib/rom/csv/dataset.rb, line 35
def load_data
  ::CSV.table(path, file_options).by_row!
end
reload!() click to toggle source
# File lib/rom/csv/dataset.rb, line 19
def reload!
  @data = load_data
end
sync!() click to toggle source
# File lib/rom/csv/dataset.rb, line 23
def sync!
  write_data && reload!
end
write_data() click to toggle source
# File lib/rom/csv/dataset.rb, line 27
def write_data
  ::CSV.open(path, 'wb', file_options) do |csv|
    data.to_a.each do |tuple|
      csv << tuple
    end
  end
end