# File lib/faster_csv.rb, line 1318 def initialize(data, options = Hash.new) # build the options for this read/write options = DEFAULT_OPTIONS.merge(options) # create the IO object we will read from @io = if data.is_a? String then StringIO.new(data) else data end init_separators(options) init_parsers(options) init_converters(options) init_headers(options) unless options.empty? raise ArgumentError, "Unknown options: #{options.keys.join(', ')}." end # track our own lineno since IO gets confused about line-ends is CSV fields @lineno = 0 end