Class: ApiMe::CsvStreamWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/api_me/csv_stream_writer.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stream) ⇒ CsvStreamWriter

Returns a new instance of CsvStreamWriter.

Parameters:

  • (IO)


23
24
25
# File 'lib/api_me/csv_stream_writer.rb', line 23

def initialize(stream)
  @stream = stream
end

Instance Attribute Details

#streamObject (readonly)

Returns the value of attribute stream.



8
9
10
# File 'lib/api_me/csv_stream_writer.rb', line 8

def stream
  @stream
end

Class Method Details

.generate(stream) {|CsvStreamWriter| ... } ⇒ Object

Provides a similar interface to CSV.generate but compatible with an IO stream

Examples:

CsvStreamWriter.generate(stream) do |csv|
  csv << ['foo', 'bar']
end

Parameters:

  • (IO)

Yields:



18
19
20
# File 'lib/api_me/csv_stream_writer.rb', line 18

def self.generate(stream)
  yield new(stream)
end

Instance Method Details

#<<(row) ⇒ Object

Parameters:

  • (Array<String>)


28
29
30
# File 'lib/api_me/csv_stream_writer.rb', line 28

def <<(row)
  stream.write CSV.generate_line(row)
end