From 5ef8fb2f8097041ff45307c8ffe415d78b7762f8 Mon Sep 17 00:00:00 2001 From: Zog Date: Thu, 31 May 2018 10:29:01 +0200 Subject: Fix SimpleInterface output to CSV --- app/models/simple_interface.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/simple_interface.rb b/app/models/simple_interface.rb index d5feafb07..4da103c38 100644 --- a/app/models/simple_interface.rb +++ b/app/models/simple_interface.rb @@ -98,14 +98,15 @@ class SimpleInterface < ApplicationModel def write_output_to_csv cols = %i(line kind event message error) journal = self.journal && self.journal.map(&:symbolize_keys) - if journal && journal.size > 0 && journal.first[:row].present? + first_row = journal.find{|r| r[:row].present? } + if first_row.present? log "Writing output log" FileUtils.mkdir_p @output_dir - keys = journal.first[:row].map(&:first) + keys = first_row[:row].map(&:first) CSV.open(output_filepath, "w") do |csv| csv << cols + keys journal.each do |j| - csv << cols.map{|c| j[c]} + j[:row].map(&:last) + csv << cols.map{|c| j[c]} + (j[:row] || {}).map(&:last) end end log "Output written in #{output_filepath}", replace: true -- cgit v1.2.3