load (FasterCSV)

    # File lib/faster_csv.rb, line 1109
      def self.load(io_or_str, options = Hash.new)
        csv = FasterCSV.new(io_or_str, options)

        # load meta information
        meta = Hash[*csv.shift]
        cls  = meta["class"].split("::").inject(Object) do |c, const|
          c.const_get(const)
        end

        # load headers
        headers = csv.shift

        # unserialize each object stored in the file
        results = csv.inject(Array.new) do |all, row|
          begin
            obj = cls.csv_load(meta, headers, row)
          rescue NoMethodError
            obj = cls.allocate
            headers.zip(row) do |name, value|
              if name[0] == ?@
                obj.instance_variable_set(name, value)
              else
                obj.send(name, value)
              end
            end
          end
          all << obj
        end

        csv.close unless io_or_str.is_a? String

        results
      end