Class: Dumpster::CSV::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/dumpster/csv.rb

Direct Known Subclasses

WindowsWriter

Instance Method Summary collapse

Constructor Details

#initialize(model) ⇒ Writer

Returns a new instance of Writer.



7
8
9
# File 'lib/dumpster/csv.rb', line 7

def initialize(model)
  @model = model
end

Instance Method Details

#build_csv(io) ⇒ Object



32
33
34
# File 'lib/dumpster/csv.rb', line 32

def build_csv(io)
  ::CSV.new(io, csv_options)
end

#csv_optionsObject



36
37
38
# File 'lib/dumpster/csv.rb', line 36

def csv_options
  {}
end

#write_to(io) ⇒ Object



11
12
13
14
15
16
# File 'lib/dumpster/csv.rb', line 11

def write_to(io)
  csv = build_csv(io)
  @model.each do |row|
    csv << row
  end
end

#write_to_file(path) ⇒ Object



18
19
20
21
22
# File 'lib/dumpster/csv.rb', line 18

def write_to_file(path)
  File.open(path, 'w+') do |file|
    write_to file
  end
end

#write_to_stringObject



24
25
26
27
28
29
30
# File 'lib/dumpster/csv.rb', line 24

def write_to_string
  require 'stringio'
  io = StringIO.new
  write_to(io)
  io.rewind
  io.readlines.join
end