# File lib/faster_csv.rb, line 816
  def self.build_csv_interface
    Object.const_set(:CSV, Class.new).class_eval do
      def self.foreach(path, rs = :auto, &block)  # :nodoc:
        FasterCSV.foreach(path, :row_sep => rs, &block)
      end
      
      def self.generate_line(row, fs = ",", rs = "")  # :nodoc:
        FasterCSV.generate_line(row, :col_sep => fs, :row_sep => rs)
      end
      
      def self.open(path, mode, fs = ",", rs = :auto, &block)  # :nodoc:
        if block and mode.include? "r"
          FasterCSV.open(path, mode, :col_sep => fs, :row_sep => rs) do |csv|
            csv.each(&block)
          end
        else
          FasterCSV.open(path, mode, :col_sep => fs, :row_sep => rs, &block)
        end
      end
      
      def self.parse(str_or_readable, fs = ",", rs = :auto, &block)  # :nodoc:
        FasterCSV.parse(str_or_readable, :col_sep => fs, :row_sep => rs, &block)
      end
      
      def self.parse_line(src, fs = ",", rs = :auto)  # :nodoc:
        FasterCSV.parse_line(src, :col_sep => fs, :row_sep => rs)
      end
      
      def self.readlines(path, rs = :auto)  # :nodoc:
        FasterCSV.readlines(path, :row_sep => rs)
      end
    end
  end