diff --git a/lib/vagrant/devcommands/runner/command.rb b/lib/vagrant/devcommands/runner/command.rb index d36fdd7..23dee57 100644 --- a/lib/vagrant/devcommands/runner/command.rb +++ b/lib/vagrant/devcommands/runner/command.rb @@ -3,6 +3,8 @@ module DevCommands module Runner # Command runner class Command + UTIL = VagrantPlugins::DevCommands::Util + def initialize(plugin, argv, env, registry) @plugin = plugin @argv = argv @@ -31,16 +33,18 @@ def run(command) def run_argv argv = @argv.dup - argv.shift if @env.machine_index.include?(argv[0].to_s) + argv.shift if UTIL.machine_name?(argv[0].to_s, @env.machine_index) argv.shift argv end def run_box(cmd) - return cmd.box.to_s if cmd.box - return @argv[0].to_s if @env.machine_index.include?(@argv[0].to_s) + box = nil + box = cmd.box.to_s if cmd.box + box = @argv[0] if UTIL.machine_name?(@argv[0].to_s, + @env.machine_index) - nil + box end def run_script(command, argv) diff --git a/lib/vagrant/devcommands/runner/internal_command.rb b/lib/vagrant/devcommands/runner/internal_command.rb index e4b7562..8ae7412 100644 --- a/lib/vagrant/devcommands/runner/internal_command.rb +++ b/lib/vagrant/devcommands/runner/internal_command.rb @@ -6,6 +6,7 @@ class InternalCommand NAMESPACE_CMD = VagrantPlugins::DevCommands::InternalCommand NAMESPACE_MODEL = VagrantPlugins::DevCommands::Model NAMESPACE_SPEC = VagrantPlugins::DevCommands::InternalSpec + UTIL = VagrantPlugins::DevCommands::Util COMMANDS = { 'help' => NAMESPACE_MODEL::Command.new(NAMESPACE_SPEC::HELP), @@ -35,7 +36,7 @@ def run(command, args = nil) def run_argv argv = @argv.dup - argv.shift if @env.machine_index.include?(argv[0].to_s) + argv.shift if UTIL.machine_name?(argv[0].to_s, @env.machine_index) argv.shift argv end diff --git a/lib/vagrant/devcommands/util.rb b/lib/vagrant/devcommands/util.rb index 0f564c7..2e79025 100644 --- a/lib/vagrant/devcommands/util.rb +++ b/lib/vagrant/devcommands/util.rb @@ -6,7 +6,7 @@ def self.argv_command(argv, env) return nil if argv.empty? command = argv[0].to_s - command = argv[1].to_s if env.machine_index.include?(command) + command = argv[1].to_s if machine_name?(command, env.machine_index) command end @@ -29,6 +29,10 @@ def self.collect_optional_params(params) end end + def self.machine_name?(name, machine_index) + machine_index.any? { |machine| name == machine.name } + end + def self.max_pad(items_list) paddings = items_list.map do |items| if items.nil? || items.empty?