1#!/usr/bin/env ruby
2# frozen_string_literal: true
3
4require 'csv'
5
6def join_csv_files(output_path, input_paths)
7  return if input_paths.empty?
8
9  input_csvs = input_paths.map do |input_path|
10    CSV.read(input_path, headers: true)
11  end
12
13  CSV.open(output_path, "w", headers: input_csvs.first.headers, write_headers: true) do |output_csv|
14    input_csvs.each do |input_csv|
15      input_csv.each do |line|
16        output_csv << line
17      end
18    end
19  end
20end
21
22join_csv_files('tmp/memory_test/report.csv', Dir['tmp/memory_test/*.csv'].sort)
23