class Bosh::Cli::Command::Package

Public Instance Methods

generate(name) click to toggle source
# File lib/cli/commands/package.rb, line 8
def generate(name)
  check_if_release_dir

  unless name.bosh_valid_id?
    err("`#{name}' is not a vaild BOSH id")
  end

  package_dir = File.join("packages", name)

  if File.exists?(package_dir)
    err("Package `#{name}' already exists, please pick another name")
  end

  say("create\t#{package_dir}")
  FileUtils.mkdir_p(package_dir)

  generate_file(package_dir, "packaging") do
    "# abort script on any command that exits " +
    "with a non zero value\nset -e\n"
  end

  generate_file(package_dir, "pre_packaging") do
    "# abort script on any command that exits " +
    "with a non zero value\nset -e\n"
  end

  generate_file(package_dir, "spec") do
    "---\nname: #{name}\n\ndependencies:\n\nfiles:\n"
  end

  say("\nGenerated skeleton for `#{name}' package in `#{package_dir}'")
end

Private Instance Methods

generate_file(dir, file) { || ... } click to toggle source
# File lib/cli/commands/package.rb, line 43
def generate_file(dir, file)
  path = File.join(dir, file)
  say("create\t#{path}")
  FileUtils.touch(path)
  File.open(path, "w") do |f|
    f.write(yield)
  end
end