class Piperun::Filters::TarFilter

Public Class Methods

new(output, options = {}) click to toggle source
Calls superclass method Piperun::Filters::Filter::new
# File lib/piperun/filters/tar_filter.rb, line 3
def initialize(output, options = {})
  super()

  @output = output
  @options = options
end

Public Instance Methods

external_dependencies() click to toggle source
# File lib/piperun/filters/tar_filter.rb, line 24
def external_dependencies
  ['archive/tar/minitar']
end
run(src, dst, files) click to toggle source
# File lib/piperun/filters/tar_filter.rb, line 10
def run(src, dst, files)
  dstpath = File.join(dst, @output)
  FileUtils::mkdir_p File.dirname(dstpath)

  File.open(dstpath, 'wb') do |out|
    tar = Archive::Tar::Minitar::Output.new out
    Dir.chdir src do 
      files.each { |f| Archive::Tar::Minitar.pack_file(f, tar) }
    end
  end

  return [@output]
end