Forward arguments down to capability
This commit is contained in:
parent
cf3c1b73d2
commit
f48b0796a5
|
@ -109,7 +109,7 @@ module Vagrant
|
||||||
|
|
||||||
# Executes the capability with the given name, optionally passing
|
# Executes the capability with the given name, optionally passing
|
||||||
# more arguments onwards to the capability.
|
# more arguments onwards to the capability.
|
||||||
def capability(cap_name)
|
def capability(cap_name, *args)
|
||||||
@logger.info("Execute capability: #{cap_name} (#{@chain[0][0]})")
|
@logger.info("Execute capability: #{cap_name} (#{@chain[0][0]})")
|
||||||
cap_mod = capability_module(cap_name)
|
cap_mod = capability_module(cap_name)
|
||||||
if !cap_mod
|
if !cap_mod
|
||||||
|
@ -127,7 +127,7 @@ module Vagrant
|
||||||
:guest => @chain[0][0].to_s
|
:guest => @chain[0][0].to_s
|
||||||
end
|
end
|
||||||
|
|
||||||
cap_method.call
|
cap_method.call(*args)
|
||||||
end
|
end
|
||||||
|
|
||||||
# This returns whether the guest is ready to work. If this returns
|
# This returns whether the guest is ready to work. If this returns
|
||||||
|
|
|
@ -17,8 +17,8 @@ describe Vagrant::Guest do
|
||||||
|
|
||||||
cap = Class.new do
|
cap = Class.new do
|
||||||
if !options[:corrupt]
|
if !options[:corrupt]
|
||||||
define_method(capability) do
|
define_method(capability) do |*args|
|
||||||
raise "cap: #{capability}"
|
raise "cap: #{capability} #{args.inspect}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -58,7 +58,14 @@ describe Vagrant::Guest do
|
||||||
register_capability(:bar, :test)
|
register_capability(:bar, :test)
|
||||||
|
|
||||||
expect { subject.capability(:test) }.
|
expect { subject.capability(:test) }.
|
||||||
to raise_error(RuntimeError, "cap: test")
|
to raise_error(RuntimeError, "cap: test []")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "executes the capability with arguments" do
|
||||||
|
register_capability(:bar, :test)
|
||||||
|
|
||||||
|
expect { subject.capability(:test, 1) }.
|
||||||
|
to raise_error(RuntimeError, "cap: test [1]")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "raises an exception if the capability doesn't exist" do
|
it "raises an exception if the capability doesn't exist" do
|
||||||
|
|
Loading…
Reference in New Issue