28 lines
669 B
Ruby
28 lines
669 B
Ruby
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
module Vagrant
|
|
module Action
|
|
module Builtin
|
|
# This middleware class allows you to modify the environment hash
|
|
# in the middle of a middleware sequence. The new environmental data
|
|
# will take affect at this stage in the middleware and will persist
|
|
# through.
|
|
class EnvSet
|
|
def initialize(app, env, new_env=nil)
|
|
@app = app
|
|
@new_env = new_env || {}
|
|
end
|
|
|
|
def call(env)
|
|
# Merge in the new data
|
|
env.merge!(@new_env)
|
|
|
|
# Carry on
|
|
@app.call(env)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|