class ROM::CSV::Commands::Create

Public Instance Methods

dataset() click to toggle source
# File lib/rom/csv/commands/create.rb, line 34
def dataset
  relation.dataset
end
execute(tuples) click to toggle source
# File lib/rom/csv/commands/create.rb, line 10
def execute(tuples)
  insert_tuples = [tuples].flatten.map do |tuple|
    attributes = input[tuple]
    validator.call(attributes)
    attributes.to_h
  end

  insert(insert_tuples)
  insert_tuples
end
insert(tuples) click to toggle source
# File lib/rom/csv/commands/create.rb, line 21
def insert(tuples)
  tuples.each { |tuple| dataset << new_row(tuple) }
  dataset.sync!
end
new_row(tuple) click to toggle source
# File lib/rom/csv/commands/create.rb, line 26
def new_row(tuple)
  ::CSV::Row.new(dataset.data.headers, ordered_data(tuple))
end
ordered_data(tuple) click to toggle source
# File lib/rom/csv/commands/create.rb, line 30
def ordered_data(tuple)
  dataset.data.headers.map { |header| tuple[header] }
end