vagrant/plugins/commands/box/command/base.rb

26 lines
751 B
Ruby
Raw Normal View History

module VagrantPlugins
module CommandBox
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 = {
:box_state_file => box_state_file
}.merge(env || {})
@env.action_runner.run(callable, env)
end
def box_state_file
@box_state_file ||= StateFile.new(@env.home_path.join("boxes.json"))
end
end
end
end
end