class ActsAsTable::CSV::Writer

ActsAsTable writer object for comma-separated values (CSV) format.

Public Class Methods

new(row_model, output = $stdout, **options, &block) click to toggle source

Returns a new ActsAsTable writer object for comma-separated values (CSV) format using the given ActsAsTable row model, output stream and options.

@param [ActsAsTable::RowModel] row_model @param [IO] output @param [Hash<Symbol, Object>] options @yieldparam [ActsAsTable::CSV::Writer] writer @yieldreturn [void] @return [ActsAsTable::CSV::Writer]

@note Delegates output stream and options to constructor for CSV object. @see ::CSV.new

Calls superclass method
# File lib/acts_as_table/csv/writer.rb, line 17
def initialize(row_model, output = $stdout, **options, &block)
  # @return [Hash<Symbol, Object>]
  csv_options = (options[:csv] || {}).merge({
    headers: false,
  })

  @csv = ::CSV.new(output, **csv_options)

  super(row_model, output, **options, &block)
end

Public Instance Methods

write_row(row) click to toggle source

Writes a row to the output stream.

@param [Array<String, nil>, nil] row @return [ActsAsTable::Writer]

# File lib/acts_as_table/csv/writer.rb, line 32
def write_row(row)
  @csv << row

  self
end