# File lib/csv.rb, line 1040 def self.generate(*args) # add a default empty String, if none was given if args.first.is_a? String io = StringIO.new(args.shift) io.seek(0, IO::SEEK_END) args.unshift(io) else args.unshift("") end csv = new(*args) # wrap yield csv # yield for appending csv.string # return final String end