class Puppet::ModuleTool::LocalTarball

Attributes

release[RW]

Public Instance Methods

fetch(name) click to toggle source
# File lib/puppet/module_tool/local_tarball.rb, line 19
def fetch(name)
  if @release.name == name
    [ @release ]
  else
    [ ]
  end
end
install(release, dir) click to toggle source
# File lib/puppet/module_tool/local_tarball.rb, line 31
def install(release, dir)
  staging_dir = release.prepare

  module_dir = dir + release.name[/-(.*)/, 1]
  module_dir.rmtree if module_dir.exist?

  # Make sure unpacked module has the same ownership as the folder we are moving it into.
  Puppet::ModuleTool::Applications::Unpacker.harmonize_ownership(dir, staging_dir)

  FileUtils.mv(staging_dir, module_dir)
end
prepare(release) click to toggle source
# File lib/puppet/module_tool/local_tarball.rb, line 27
def prepare(release)
  release.mod.path
end

Public Class Methods

new(filename) click to toggle source
# File lib/puppet/module_tool/local_tarball.rb, line 11
def initialize(filename)
  unpack(filename, tmpdir)
  Puppet.debug "Unpacked local tarball to #{tmpdir}"

  mod = Puppet::Module.new('tarball', tmpdir, nil)
  @release = ModuleRelease.new(self, mod)
end