Ruby - jak rozpakować plik zip

Witam!
Mam listę plików które ściągam na dysk. Chciałby je rozpakować nie bardzo wiem jak

Pobieram pliki tak:

lista_id.each do |linki|
open("#{linki}.zip", ‘wb’) do |file|
file << open(“ftp://adres/#{linki}.zip”).read
end

end

W jaki sposób łatwo taki plik rozpakować?

Znalazłem w sieci działający sposób trzeba zainstalować sobie gem

require 'zip'

    def extract_zip(file, destination)
      FileUtils.mkdir_p(destination)

      Zip::File.open(file) do |zip_file|
        zip_file.each do |f|
          fpath = File.join(destination, f.name)
          zip_file.extract(f, fpath) unless File.exist?(fpath)
        end
      end
    end

Wywołanie wygląda tak:
extract_zip(zip_path, extract_destination)

2 Likes