Sha256: daaf9c6c74d091266d2c2ebded3e2c969598e914c68b8785a340d1c0dbc0ead7
Contents?: true
Size: 974 Bytes
Versions: 6
Compression:
Stored size: 974 Bytes
Contents
module Csb class Template < Builder attr_accessor :utf8_bom, :filename, :streaming, :items attr_reader :cols def initialize(utf8_bom:, streaming:) @utf8_bom = utf8_bom @streaming = streaming @cols = Cols.new @items = [] end def build streaming ? build_enumerator : build_string end def streaming? !!streaming end private def build_string builder = Builder.new(utf8_bom: utf8_bom, items: items) builder.cols.copy!(cols) builder.build end 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 end end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
csb-0.3.0 | lib/csb/template.rb |
csb-0.2.4 | lib/csb/template.rb |
csb-0.2.3 | lib/csb/template.rb |
csb-0.2.2 | lib/csb/template.rb |
csb-0.2.1 | lib/csb/template.rb |
csb-0.2.0 | lib/csb/template.rb |