From b69d635f757cad2eedce5cbb0bd9d4bb58f14899 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 18 Nov 2015 10:59:29 -0800 Subject: [PATCH] commands/up: use sets --- plugins/commands/up/start_mixins.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/commands/up/start_mixins.rb b/plugins/commands/up/start_mixins.rb index 8be96c68a..069ceb843 100644 --- a/plugins/commands/up/start_mixins.rb +++ b/plugins/commands/up/start_mixins.rb @@ -1,3 +1,5 @@ +require "set" + module VagrantPlugins module CommandUp module StartMixins @@ -27,14 +29,14 @@ module VagrantPlugins # This validates the provisioner flags and raises an exception # if there are invalid ones. def validate_provisioner_flags!(options, argv) - provisioner_instance_names = [] + provisioner_names = Set.new with_target_vms(argv) do |machine| - provisioner_instance_names << machine.config.vm.provisioners.map(&:name) + machine.config.vm.provisioners.map(&:name).each do |name| + provisioner_names.add(name) + end end - provisioner_instance_names.flatten!.uniq! - - if (provisioner_instance_names & options[:provision_types]).empty? + if (provisioner_names & options[:provision_types]).empty? (options[:provision_types] || []).each do |type| klass = Vagrant.plugin("2").manager.provisioners[type] if !klass