module Blimpy::Livery

Public Class Methods

tarball_directory(directory) click to toggle source
# File lib/blimpy/livery.rb, line 10
def self.tarball_directory(directory)
  if directory.nil? || !(File.directory? directory)
    raise ArgumentError, "The argument '#{directory}' doesn't appear to be a directory"
  end

  directory = File.expand_path(directory)
  short_name = File.basename(directory)

  tarball = nil
  Dir.chdir(File.expand_path(directory  + '/../')) do
    tarball = self.gzip_for_directory(short_name, '/tmp') do |tgz|
      Archive::Tar::Minitar.pack(short_name, tgz)
    end
  end
  tarball
end

Private Class Methods

gzip_for_directory(directory, root) { |gzip_writer(open(filename, 'wb'))| ... } click to toggle source
# File lib/blimpy/livery.rb, line 29
def self.gzip_for_directory(directory, root)
  filename = File.join(root, "#{directory}.tar.gz")
  yield Zlib::GzipWriter.new(File.open(filename, 'wb'))
  filename
end