class ActiveReport::Array

Public Instance Methods

export() click to toggle source
# File lib/active_report/array.rb, line 5
def export
  @data = munge_first(@data)
  @data = @data.unshift(@opts[:headers]) unless @opts[:headers].nil?

  @opts[:stream] ? export_stream : export_csv
end
import() click to toggle source
# File lib/active_report/array.rb, line 12
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 Instance Methods

export_csv() click to toggle source
# File lib/active_report/array.rb, line 26
def export_csv
  CSV.generate(@opts[:options]) do |csv|
    @data.each { |row| csv << row }
  end
end
export_stream() click to toggle source
# File lib/active_report/array.rb, line 32
def export_stream
  Enumerator.new do |csv|
    @data.each { |row| csv << CSV.generate_line(row) }
  end
end