Sha256: ba31b49f8b3141077efbc475258262c532ed0e20c0d56005c888b792433c31dd
Contents?: true
Size: 758 Bytes
Versions: 8
Compression:
Stored size: 758 Bytes
Contents
# frozen_string_literal: true class ActiveReport::Array < ActiveReport::Base def export @data = munge_first(@data) @data = @data.unshift(@opts[:headers]) unless @opts[:headers].nil? @opts[:stream] ? export_stream : export_csv end def import array = merge(@opts[:headers]) CSV.foreach(@data, @opts[:options]) do |row| row = encode_to_utf8(row) if csv_force_encoding? array.push(row) end array = array.flatten if array.size < 2 metatransform(array) end private def export_csv CSV.generate(@opts[:options]) do |csv| @data.each { |row| csv << row } end end def export_stream Enumerator.new do |csv| @data.each { |row| csv << CSV.generate_line(row) } end end end
Version data entries
8 entries across 8 versions & 1 rubygems