Joey BagODonuts
Joey BagODonuts

Reputation: 423

ruby method zip trying to get a string of zips I made

I have a method that zips up files I pass in.

require 'zip/zip'
def zipup(aname, aloc="/tmp/")
      Zip::ZipFile.open "#{aloc}"+File.basename(aname)+".zip", Zip::ZipFile::CREATE do |zipfile|
       zipfile.add File.basename(aname), aname
      end
end

I need to get a string object or array object from this method that has the archive.zip name of every file that has been compressed.

rubyzip does have a to_s method all though I have failed in getting the syntax correct.

http://rubyzip.sourceforge.net/classes/Zip/ZipEntry.html#M000131

thanks from a new rubyist.

Upvotes: 0

Views: 119

Answers (1)

peter
peter

Reputation: 42207

Welcome Joey, do you use the 'zip/zip' gem or just 'zip' ? If you require something, better add it to the question next time. This gem needs some extra documentation and methods it seems to me. This works

require 'zip' #or 'zip/zip' both work

def zip_list(filename)
  zipfile = Zip::ZipFile.open(filename)
  list = []
  zipfile.each { |entry| list << entry.name }
  list
end

puts zip_list("c:/temp/zip1.zip")

another way

require 'zip/zip'

Zip::ZipFile.open("c:/temp/zip1.rb.zip") do |zipfile|
  zipfile.entries.each do |entry|
    puts entry.name
  end
end

Upvotes: 1

Related Questions