class RdbCSV
Constants
- VERSION
Public Class Methods
foreach(file, options) { |row| ... }
click to toggle source
# File lib/rdb_csv.rb, line 87 def self.foreach(file, options) open(file, options) do |csv| csv.each do |row| yield row end end end
open(file, mode = 'r', options) { |csv| ... }
click to toggle source
# File lib/rdb_csv.rb, line 54 def self.open(file, mode = 'r', options) db = options[:db] || :default delimiter = options[:delimiter] || "\t" quote = options[:delimiter] || '"' case mode when 'r' if db == :default ::CSV.open(file, mode, col_sep: delimiter) do |csv| yield csv end else File.open(file) do |f| csv = CSV.new(f, mode, db: db, delimiter: delimiter, quote: quote) yield csv end end when 'w' if db == :default ::CSV.open(file, mode, col_sep: delimiter) do |csv| yield csv end else File.open(file, 'w') do |f| csv = CSV.new(f, mode, db: db, delimiter: delimiter, quote: quote) yield csv csv.buffer_write end end end end
parse(str, options) { |row| ... }
click to toggle source
# File lib/rdb_csv.rb, line 95 def self.parse(str, options) db = options[:db] || :default delimiter = options[:delimiter] || "\t" quote = options[:delimiter] || '"' if options.key?(:db) reader = CSV.new(str, 'r', db: db, delimiter: delimiter, quote: quote) else reader = ::CSV.parse(str, col_sep: delimiter) end rows = [] reader.each do |row| if block_given? yield row else rows << row end end return rows unless block_given? end
parse_line(line, options)
click to toggle source
# File lib/rdb_csv.rb, line 118 def self.parse_line(line, options) ary = nil parse(line, options).each{|row| ary = row; break} return ary end