class CsvGenerator

Constants

VERSION

Attributes

io[R]

Public Class Methods

new(io, options = {}) click to toggle source
# File lib/csv_generator.rb, line 20
def initialize(io, options = {})
  @io = io
  @options = options
end
open(path, options = {}) { |generator| ... } click to toggle source
# File lib/csv_generator.rb, line 7
def open(path, options = {})
  mode = options[:mode] || 'w'
  permission = options[:permission] || 0644

  File.open(path, mode, permission) do |io|
    generator = new(io, options)
    yield generator

    generator
  end
end

Public Instance Methods

<<(row_values) click to toggle source
# File lib/csv_generator.rb, line 35
def <<(row_values)
  io.write row_generator.generate(row_values)
end
generate(enumerable) { |row_instance)| ... } click to toggle source
# File lib/csv_generator.rb, line 25
def generate(enumerable)
  enumerable.each do |row_instance|
    if block_given?
      self << (yield row_instance)
    else
      self << row_instance
    end
  end
end

Private Instance Methods

row_generator() click to toggle source
# File lib/csv_generator.rb, line 41
def row_generator
  @row_generator ||= RowGenerator.new(@options)
end