class FPM::Fry::Source::Archive::ZipCache

Public Instance Methods

copy_to(dst) click to toggle source
# File lib/fpm/fry/source/archive.rb, line 217
def copy_to(dst)
  update!
  Exec['unzip', tempfile, '-d', dst ]
end
prefix() click to toggle source
# File lib/fpm/fry/source/archive.rb, line 222
def prefix
  unpack!
  Source::prefix(unpacked_tmpdir)
end
tar_io() click to toggle source
# File lib/fpm/fry/source/archive.rb, line 212
def tar_io
  unpack!
  return Exec::popen('tar','-c','.', chdir: unpacked_tmpdir)
end

Private Instance Methods

unpack!() click to toggle source
# File lib/fpm/fry/source/archive.rb, line 228
def unpack!
  if !::File.directory?( unpacked_tmpdir )
    workdir = unpacked_tmpdir + '.tmp'
    begin
      FileUtils.mkdir(workdir)
    rescue Errno::EEXIST
      FileUtils.rm_rf(workdir)
      FileUtils.mkdir(workdir)
    end
    copy_to( workdir )
    File.rename(workdir, unpacked_tmpdir)
  end
end
unpacked_tmpdir() click to toggle source
# File lib/fpm/fry/source/archive.rb, line 242
def unpacked_tmpdir
  File.join(tempdir, cachekey)
end