Class: EdinetCode::Archive

Inherits:
Object
  • Object
show all
Defined in:
lib/edinet_code/archive.rb

Class Method Summary collapse

Class Method Details

.unzip(compress_file_path) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/edinet_code/archive.rb', line 6

def self.unzip(compress_file_path)
  return nil unless File.exists?(compress_file_path)
  compress_dir = File.dirname(compress_file_path)
  uncompress_file_path = nil
  Zip::File.open(compress_file_path) do |zip_file|
    zip_file.each do |entry|
      if File.extname(entry.name) == ".csv"
        uncompress_file_path = File.join(compress_dir, entry.name)
        if File.exist?(uncompress_file_path)
          puts "既に解凍済みです:#{uncompress_file_path}"
          break
        end
        entry.extract(uncompress_file_path)
        break
      end
    end
  end
  uncompress_file_path
end