class Csb::Template
Attributes
cols[RW]
filename[RW]
items[RW]
streaming[RW]
utf8_bom[RW]
Public Class Methods
new(utf8_bom:, streaming:)
click to toggle source
# File lib/csb/template.rb, line 5 def initialize(utf8_bom:, streaming:) @utf8_bom = utf8_bom @streaming = streaming @cols = Cols.new @items = [] end
Public Instance Methods
build()
click to toggle source
# File lib/csb/template.rb, line 12 def build streaming ? build_enumerator : build_string end
streaming?()
click to toggle source
# File lib/csb/template.rb, line 16 def streaming? !!streaming end
Private Instance Methods
build_enumerator()
click to toggle source
# File lib/csb/template.rb, line 28 def build_enumerator Enumerator.new do |y| begin builder = Builder.new(y, utf8_bom: utf8_bom, items: items) builder.cols.copy!(cols) builder.build rescue => error if Csb.configuration.after_streaming_error.respond_to?(:call) Csb.configuration.after_streaming_error.call(error) end raise error end end end
build_string()
click to toggle source
# File lib/csb/template.rb, line 22 def build_string builder = Builder.new(utf8_bom: utf8_bom, items: items) builder.cols.copy!(cols) builder.build end