Class: Bosh::Gen::Command
- Inherits:
-
Thor
- Object
- Thor
- Bosh::Gen::Command
- Includes:
- Thor::Actions
- Defined in:
- lib/bosh/gen/cli.rb
Instance Method Summary collapse
- #cli_plugin(plugin_name) ⇒ Object
- #errand(name) ⇒ Object
- #extract_job(source_package_path) ⇒ Object
- #extract_pkg(source_package_path) ⇒ Object
- #job(name) ⇒ Object
- #new(path) ⇒ Object
- #package(name) ⇒ Object
- #source(name, uri) ⇒ Object
- #template(job_name, file_path) ⇒ Object
Instance Method Details
#cli_plugin(plugin_name) ⇒ Object
116 117 118 119 |
# File 'lib/bosh/gen/cli.rb', line 116 def cli_plugin(plugin_name) require 'bosh/gen/generators/bosh_cli_plugin_generator' Bosh::Gen::Generators::BoshCliPluginGenerator.start([plugin_name]) end |
#errand(name) ⇒ Object
84 85 86 87 88 |
# File 'lib/bosh/gen/cli.rb', line 84 def errand(name) dependencies = [:dependencies] || [] require 'bosh/gen/generators/errand_generator' Bosh::Gen::Generators::ErrandGenerator.start([name, dependencies]) end |
#extract_job(source_package_path) ⇒ Object
100 101 102 103 104 |
# File 'lib/bosh/gen/cli.rb', line 100 def extract_job(source_package_path) source_package_path = File.(source_package_path) require 'bosh/gen/generators/extract_job_generator' Bosh::Gen::Generators::ExtractJobGenerator.start([source_package_path]) end |
#extract_pkg(source_package_path) ⇒ Object
109 110 111 112 113 |
# File 'lib/bosh/gen/cli.rb', line 109 def extract_pkg(source_package_path) source_package_path = File.(source_package_path) require 'bosh/gen/generators/extract_package_generator' Bosh::Gen::Generators::ExtractPackageGenerator.start([source_package_path]) end |
#job(name) ⇒ Object
75 76 77 78 79 |
# File 'lib/bosh/gen/cli.rb', line 75 def job(name) dependencies = [:dependencies] || [] require 'bosh/gen/generators/job_generator' Bosh::Gen::Generators::JobGenerator.start([name, dependencies, 'simple']) end |
#new(path) ⇒ Object
16 17 18 19 |
# File 'lib/bosh/gen/cli.rb', line 16 def new(path) require 'bosh/gen/generators/new_release_generator' Bosh::Gen::Generators::NewReleaseGenerator.start([path]) end |
#package(name) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/bosh/gen/cli.rb', line 32 def package(name) dependencies = [:dependencies] || [] if [:apt] require 'bosh/gen/generators/package_apt_generator' Bosh::Gen::Generators::PackageAptGenerator.start([name, dependencies]) elsif [:docker_image] docker_image = [:docker_image] require 'bosh/gen/generators/package_docker_image_generator' Bosh::Gen::Generators::PackageDockerImageGenerator.start([name, docker_image]) else files = [:files] || [] sources = [:src] || [] require 'bosh/gen/generators/package_generator' Bosh::Gen::Generators::PackageGenerator.start( [name, dependencies, files, sources]) end end |
#source(name, uri) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/bosh/gen/cli.rb', line 53 def source(name, uri) flags = { :blob => [:blob] || false } dir = Dir.mktmpdir files = [] if File.exist?(uri) files = [uri] else say "Downloading #{uri}..." FileUtils.chdir(dir) do `wget '#{uri}'` files = Dir['*'].map {|f| File.(f)} end end require 'bosh/gen/generators/package_source_generator' Bosh::Gen::Generators::PackageSourceGenerator.start( [name, files, flags]) end |
#template(job_name, file_path) ⇒ Object
92 93 94 95 |
# File 'lib/bosh/gen/cli.rb', line 92 def template(job_name, file_path) require 'bosh/gen/generators/job_template_generator' Bosh::Gen::Generators::JobTemplateGenerator.start([job_name, file_path]) end |