Class: VagrantPlugins::Rackspace::Command::Root
- Inherits:
-
Object
- Object
- VagrantPlugins::Rackspace::Command::Root
- Defined in:
- lib/vagrant-rackspace/command/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 |
# File 'lib/vagrant-rackspace/command/root.rb', line 11 def initialize(argv, env) @main_args, @sub_command, @sub_args = split_main_and_subcommand(argv) @subcommands = Vagrant::Registry.new @subcommands.register(:images) do require File.("../images", __FILE__) Images end @subcommands.register(:flavors) do require File.("../flavors", __FILE__) Flavors end @subcommands.register(:keypairs) do require File.("../keypairs", __FILE__) KeyPairs end @subcommands.register(:networks) do require File.("../networks", __FILE__) Networks end @subcommands.register(:servers) do require File.("../servers", __FILE__) Servers end super(argv, env) end |
Class Method Details
.synopsis ⇒ Object
7 8 9 |
# File 'lib/vagrant-rackspace/command/root.rb', line 7 def self.synopsis "query Rackspace for available images or flavors" end |
Instance Method Details
#execute ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/vagrant-rackspace/command/root.rb', line 39 def execute if @main_args.include?("-h") || @main_args.include?("--help") # Print the help for all the rackspace commands. return help end command_class = @subcommands.get(@sub_command.to_sym) if @sub_command return help if !command_class || !@sub_command @logger.debug("Invoking command class: #{command_class} #{@sub_args.inspect}") # Initialize and execute the command class command_class.new(@sub_args, @env).execute end |
#help ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/vagrant-rackspace/command/root.rb', line 53 def help opts = OptionParser.new do |opts| opts. = "Usage: vagrant rackspace <subcommand> [<args>]" opts.separator "" opts.separator "Available subcommands:" # Add the available subcommands as separators in order to print them # out as well. keys = [] @subcommands.each { |key, value| keys << key.to_s } keys.sort.each do |key| opts.separator " #{key}" end opts.separator "" opts.separator "For help on any individual subcommand run `vagrant rackspace <subcommand> -h`" end @env.ui.info(opts.help, :prefix => false) end |