module YAVDB::Utils::Zip

Public Class Methods

get_contents(zip_url, with_cache = true, group_cache_key = 'zip') click to toggle source
# File lib/yavdb/utils/zip.rb, line 27
def self.get_contents(zip_url, with_cache = true, group_cache_key = 'zip')
  puts "Requesting #{zip_url}" if Constants::DEBUG

  if with_cache
    YAVDB::Utils::Cache.cache_path(group_cache_key, zip_url) do |zip_path|
      do_request(zip_path, zip_url)
      zip_path
    end
  else
    zip_path = Dir.mktmpdir(group_cache_key)
    do_request(zip_path, zip_url)
    zip_path
  end
end

Private Class Methods

do_request(zip_path, zip_url) click to toggle source
# File lib/yavdb/utils/zip.rb, line 46
def do_request(zip_path, zip_url)
  puts "Downloading #{zip_url}" if Constants::DEBUG

  resource_path = "#{zip_path}/resource.zip"

  FileUtils.rm_rf(zip_path)
  FileUtils.mkdir_p(zip_path)

  YAVDB::Utils::Executor.run %(wget -O #{resource_path} #{zip_url})
  YAVDB::Utils::Executor.run %(unzip #{resource_path} -d #{zip_path})

  FileUtils.rm(resource_path)
end