class ROM::CSV::Commands::Update
Public Instance Methods
dataset()
click to toggle source
# File lib/rom/csv/commands/update.rb, line 38 def dataset relation.dataset end
execute(tuple)
click to toggle source
# File lib/rom/csv/commands/update.rb, line 10 def execute(tuple) attributes = input[tuple] validator.call(attributes) tuple = attributes.to_h update(tuple) end
original_dataset()
click to toggle source
# File lib/rom/csv/commands/update.rb, line 42 def original_dataset source.dataset end
update(tuple)
click to toggle source
# File lib/rom/csv/commands/update.rb, line 18 def update(tuple) original_data = original_dataset.to_a output = [] dataset.each do |dataset_tuple| index = original_data.index(dataset_tuple) update_dataset(index, tuple) output << original_dataset.data[index].to_hash end original_dataset.sync! output end
update_dataset(index, tuple)
click to toggle source
# File lib/rom/csv/commands/update.rb, line 32 def update_dataset(index, tuple) tuple.each do |key, value| original_dataset.data[index][key] = value end end