open (FasterCSV)

    # File lib/faster_csv.rb, line 1188
      def self.open(*args)
        # find the +options+ Hash
        options = if args.last.is_a? Hash then args.pop else Hash.new end
        # default to a binary open mode
        args << "rb" if args.size == 1
        # wrap a File opened with the remaining +args+
        csv     = new(File.open(*args), options)

        # handle blocks like Ruby's open(), not like the CSV library
        if block_given?
          begin
            yield csv
          ensure
            csv.close
          end
        else
          csv
        end
      end