trying again.... ;-) SM ---------- Forwarded message ---------- From: Simon Mullis <simon / mullis.co.uk> Date: Sep 27, 2007 4:16 PM Subject: minitar - how to extract only one file from a tar archive as an object To: ruby-talk / ruby-lang.org Ahoy there, fellow rubyphiles... I'm trying to use Archive::Tar::Minitar to extract a single file from a tar archive: "test.tar" contains: ./test/foo ./test/bar ./test/baz <code> # lifted from the minitar source... require 'archive/tar/minitar' include Archive::Tar a = File.open("test.tar", "rb") Minitar::Input.open(a) do |inp| inp.each do |entry| inp.extract_entry(".", entry) if entry.full_name =~ /baz/ end end </code> This all works fine, and writes to "./test/baz" But! How could I do the same and create a File object of the extracted file? (i.e. not write anything to disk). (The reason I ask is the file I want is a zip, which lives inside the tar archive and I then want to grab some files from that using the 'rubyzip' gem.) It's quite possible (in fact, more than likely) that I've missed something obvious and there is already a straightforward way to do this. To be honest, a few more examples of minitar in use would be great. Many thanks in advance for any pointers or tips. Cheers! -- Simon Mullis _________________ simon / mullis.co.uk