module Dk::Pkg::InstallPkg::InstanceMethods

Private Instance Methods

dk_pkg_write_pkg_to_manifest(name) click to toggle source
# File lib/dk-pkg/install_pkg.rb, line 37
def dk_pkg_write_pkg_to_manifest(name)
  pkgs = params[INSTALLED_PKGS_PARAM_NAME] + [name]
  serialized_pkgs = Manifest.serialize(pkgs)
  cmd!(
    WRITE_MANIFEST_CMD_STR_PROC.call(params[MANIFEST_PATH_PARAM_NAME]),
    serialized_pkgs
  )
  set_param INSTALLED_PKGS_PARAM_NAME, Manifest.deserialize(serialized_pkgs)
end
install_pkg(name) { || ... } click to toggle source
# File lib/dk-pkg/install_pkg.rb, line 25
def install_pkg(name)
  raise(ArgumentError, "a pkg name must be provided") if name.to_s.empty?
  raise(ArgumentError, "no block given") unless block_given?

  if !params[INSTALLED_PKGS_PARAM_NAME].include?(name)
    yield
    dk_pkg_write_pkg_to_manifest(name)
  else
    log_info "#{name.inspect} has already been installed"
  end
end