Sha256: 8e6643742a11c9faaaa7ddac093f147600a388e0b4064daea111212c0ad8f779
Contents?: true
Size: 1 KB
Versions: 3
Compression:
Stored size: 1 KB
Contents
require 'zip/zip' require 'digest/md5' class EroGetter::Downloader autoload :Base, 'ero_getter/downloader/base' class << self def base_path path = File.join(ENV['HOME'], 'ero_getter') mkdir(path) unless Dir.exists?(path) path end def mkdir(path) basedir = File.dirname(path) mkdir(basedir) unless File.exists?(basedir) Dir.mkdir(path) end def unzip(zip_data) tmp_file = File.join(base_path, Digest::MD5.hexdigest(zip_data)) begin File.open(tmp_file, 'wb') { |f| f.write zip_data } result = [] Zip::ZipInputStream.open(tmp_file) do |zip| while entry = zip.get_next_entry filename = entry.name_in(entry.name_encoding) if entry.file? && !filename.match(/\.(txt|html)$/) result << [filename, entry.get_input_stream {|f| f.read}] end end end ensure File.delete tmp_file if File.exists?(tmp_file) end result end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ero_getter-0.1.2 | lib/ero_getter/downloader.rb |
ero_getter-0.1.1 | lib/ero_getter/downloader.rb |
ero_getter-0.1.0 | lib/ero_getter/downloader.rb |