Class: Vagrant::Hivemind::Command::Root
- Inherits:
-
Object
- Object
- Vagrant::Hivemind::Command::Root
- Defined in:
- lib/vagrant/hivemind/commands/root.rb
Class Method Summary collapse
Instance Method Summary collapse
- #execute ⇒ Object
- #help ⇒ Object
-
#initialize(argv, env) ⇒ Root
constructor
A new instance of Root.
Constructor Details
#initialize(argv, env) ⇒ Root
Returns a new instance of Root.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/vagrant/hivemind/commands/root.rb', line 11 def initialize(argv, env) super @main_args, @sub_command, @sub_args = split_main_and_subcommand(argv) @subcommands = Vagrant::Registry.new @subcommands.register(:init) do require_relative "init" Init end @subcommands.register(:list) do require_relative "list" List end @subcommands.register(:desc) do require_relative "desc" Desc end @subcommands.register(:spawn) do require_relative "spawn" Spawn end @subcommands.register(:kill) do require_relative "kill" Kill end @subcommands.register(:morph) do require_relative "morph" Morph end @subcommands.register(:up) do require_relative "up" Up end @subcommands.register(:halt) do require_relative "halt" Halt end @subcommands.register(:generate) do require_relative "generate" Generate end end |
Class Method Details
.synopsis ⇒ Object
7 8 9 |
# File 'lib/vagrant/hivemind/commands/root.rb', line 7 def self.synopsis "Hivemind operations: init list desc spawn kill morph up halt" end |
Instance Method Details
#execute ⇒ Object
65 66 67 68 69 70 71 72 73 74 |
# File 'lib/vagrant/hivemind/commands/root.rb', line 65 def execute if @main_args.include?("-h") || @main_args.include?("--help") return help end command_class = @subcommands.get(@sub_command.to_sym) if @sub_command return help if !command_class || !@sub_command command_class.new(@sub_args, @env).execute end |
#help ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/vagrant/hivemind/commands/root.rb', line 76 def help opts = OptionParser.new do |o| o. = "Usage: vagrant hivemind <command> [<args>]" o.separator "" o.separator "Available commands:" @subcommands.each do |key, data| o.separator "#{'%8.6s' % key.to_s} #{'%.60s' % data.synopsis}" end o.separator "" o.separator "For help on any individual command run `vagrant hivemind <command> -h`" end @env.ui.info(opts.help, prefix: false) end |