Sha256: 734616e011a2de4e32269051caaf6d2a6ecf64e18ea64a643b51f601f399a99f
Contents?: true
Size: 799 Bytes
Versions: 4
Compression:
Stored size: 799 Bytes
Contents
# Wraps a CSV object, if wrapper opens the csv file it will close it class CSVUtils::CSVWrapper attr_reader :csv def initialize(csv, mode, csv_options) open(csv, mode, csv_options) end def self.open(file, mode, csv_options = {}) csv = new(file, mode, csv_options) if block_given? yield csv csv.close else csv end end def open(csv, mode, csv_options) if csv.is_a?(String) @close_when_done = true @csv = CSV.open(csv, mode, csv_options) else @close_when_done = false @csv = csv end end def <<(row) csv << row end def shift csv.shift end def rewind csv.rewind end def close csv.close if close_when_done? end private def close_when_done? @close_when_done end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
csv-utils-0.3.8 | lib/csv_utils/csv_wrapper.rb |
csv-utils-0.3.7 | lib/csv_utils/csv_wrapper.rb |
csv-utils-0.3.6 | lib/csv_utils/csv_wrapper.rb |
csv-utils-0.3.5 | lib/csv_utils/csv_wrapper.rb |