| Module | FileType::ExtractableDir |
| In: |
lib/file_type.rb
|
# File lib/file_type.rb, line 194 def extract dir = extract_extractable FileType.guess(dir.path + longest_common_path(@log).join('/')) end
We want the longest common path
# File lib/file_type.rb, line 200 def longest_common_path ( log ) longest = nil raise CorruptedTarballError, 'tar output empty' if log.zero? log.each_line do |line| line.chomp! path = line.split(/\//) longest = path if longest.nil? longest &= path raise CorruptedTarballError, log.read if longest.empty? end raise CorruptedTarballError, log.read if longest.nil? longest end