class Kugiru::Builder
Constants
- UTF8_BOM
Attributes
cols[R]
data[R]
output[R]
utf8_bom[R]
Public Class Methods
build(**args)
click to toggle source
# File lib/kugiru/builder.rb, line 26 def self.build(**args) self.new(args).build end
build_enumerator(**args)
click to toggle source
# File lib/kugiru/builder.rb, line 30 def self.build_enumerator(**args) Enumerator.new do |y| begin self.new(y, args).build rescue => error Kugiru.configuration.after_streaming_error.try(:call, error) raise error end end end
new(output = '', cols:, data:, utf8_bom: false)
click to toggle source
# File lib/kugiru/builder.rb, line 9 def initialize(output = '', cols:, data:, utf8_bom: false) @output = output @utf8_bom = utf8_bom @cols = cols @data = data end
Public Instance Methods
build()
click to toggle source
# File lib/kugiru/builder.rb, line 16 def build output << UTF8_BOM if utf8_bom output << CSV.generate_line(cols.keys) data.each do |row| values = cols.values.map { |pr| pr.call(row) } output << CSV.generate_line(values) end output end