# File lib/archive/tar/minitar.rb, line 963 963: def unpack(src, dest, files = [], &block) 964: Input.open(src) do |inp| 965: if File.exist?(dest) and (not dir?(dest)) 966: raise "Can't unpack to a non-directory." 967: elsif not File.exist?(dest) 968: FileUtils.mkdir_p(dest) 969: end 970: 971: inp.each do |entry| 972: if files.empty? or files.include?(entry.full_name) 973: inp.extract_entry(dest, entry, &block) 974: end 975: end 976: end 977: end