Sha256: 82e23196aea80de374ce89e751aabf238eb9311c305eda83c91a1fc2c529a029
Contents?: true
Size: 687 Bytes
Versions: 4
Compression:
Stored size: 687 Bytes
Contents
# frozen_string_literal: true require "csv" class MedPipe::PipelineTask::TsvGenerater TSV_OPTION = { col_sep: "\t" }.freeze # @param lines [Enumerable<Array<Object>>] to_s可能なオブジェクトの配列のEnumerable # @yieldparam [File] 生成したtsvファイル def call(_context, lines) Tempfile.create do |file| lines.each do |line| # nil に置き換えることで""という文字列が出力されてしまうのを回避 normalized_line = line.map { |v| v == "" ? nil : v } tsv_line = CSV.generate_line(normalized_line, **TSV_OPTION) file.puts(tsv_line) end file.rewind yield(file) end end end
Version data entries
4 entries across 4 versions & 1 rubygems