From 429bd73495173a22d5fb09a008043d37e32e350a Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 1 May 2014 09:26:36 -0700 Subject: [PATCH] core: provider has default priority of 5 --- lib/vagrant/plugin/v2/plugin.rb | 6 ++++-- test/unit/vagrant/plugin/v2/plugin_test.rb | 9 +++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/vagrant/plugin/v2/plugin.rb b/lib/vagrant/plugin/v2/plugin.rb index 51a9f458b..e9559da6d 100644 --- a/lib/vagrant/plugin/v2/plugin.rb +++ b/lib/vagrant/plugin/v2/plugin.rb @@ -185,9 +185,11 @@ module Vagrant # Registers additional providers to be available. # # @param [Symbol] name Name of the provider. - def self.provider(name=UNSET_VALUE, options=nil, &block) + def self.provider(name=UNSET_VALUE, **options, &block) + options[:priority] ||= 5 + components.providers.register(name.to_sym) do - [block.call, options || {}] + [block.call, options] end nil diff --git a/test/unit/vagrant/plugin/v2/plugin_test.rb b/test/unit/vagrant/plugin/v2/plugin_test.rb index a8b3159e6..944d38f9f 100644 --- a/test/unit/vagrant/plugin/v2/plugin_test.rb +++ b/test/unit/vagrant/plugin/v2/plugin_test.rb @@ -249,7 +249,9 @@ describe Vagrant::Plugin::V2::Plugin do provider("foo") { "bar" } end - expect(plugin.components.providers[:foo]).to eq(["bar", {}]) + result = plugin.components.providers[:foo] + expect(result[0]).to eq("bar") + expect(result[1][:priority]).to eq(5) end it "should register provider classes with options" do @@ -257,7 +259,10 @@ describe Vagrant::Plugin::V2::Plugin do provider("foo", foo: "yep") { "bar" } end - expect(plugin.components.providers[:foo]).to eq(["bar", { foo: "yep" }]) + result = plugin.components.providers[:foo] + expect(result[0]).to eq("bar") + expect(result[1][:priority]).to eq(5) + expect(result[1][:foo]).to eq("yep") end it "should lazily register provider classes" do