23 lines
731 B
Ruby
23 lines
731 B
Ruby
module VagrantPlugins
|
|
module CommandPlugin
|
|
module Command
|
|
class Base < Vagrant.plugin("2", :command)
|
|
# This is a helper for executing an action sequence with the proper
|
|
# environment hash setup so that the plugin specific helpers are
|
|
# in.
|
|
#
|
|
# @param [Object] callable the Middleware callable
|
|
# @param [Hash] env Extra environment hash that is merged in.
|
|
def action(callable, env=nil)
|
|
env = {
|
|
:gem_helper => GemHelper.new(@env.gems_path),
|
|
:plugin_state_file => StateFile.new(@env.data_dir.join("plugins.json"))
|
|
}.merge(env || {})
|
|
|
|
@env.action_runner.run(callable, env)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|