Sha256: 2f622dac757b0504ad7ee6b542123601ba89a8ee2b45dda02f123bd51d08bb59
Contents?: true
Size: 779 Bytes
Versions: 1
Compression:
Stored size: 779 Bytes
Contents
module SimpleCsv class Writer < Base DEFAULTS = { force_quotes: true }.freeze def initialize(path, **opts, &block) settings merge: DEFAULTS.merge(opts) CSV.open(File.expand_path(path), 'w', @settings) do |csv| @csv = csv @current_row = [] instance_eval(&block) end end private def respond_to_missing?(mtd, include_private = false) super end def method_missing(mtd, *args, &block) super unless @headers.include? mtd.to_s @current_row << args[0] row_complete = @current_row.count == @headers.count (@csv << @current_row) && @current_row = [] if row_complete end def headers(*column_names) super @csv << @headers if @csv @headers end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_csv-0.1.0 | lib/simple_csv/writer.rb |