# File lib/zip/zip_file.rb, line 110
      def open_buffer(io)
        zf = ZipFile.new('',true,true)
        if io.is_a? IO
          zf.read_from_stream(io)
        elsif io.is_a? String
          require 'stringio'
          zf.read_from_stream(StringIO.new(io))
        else
          raise "Zip::ZipFile.open_buffer expects an argument of class String or IO. Found: #{io.class}"
        end
        yield zf
        zf.write_buffer
      end