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