vagrant/plugins/commands/plugin/action/uninstall_plugin.rb
oss-core-libraries-dashboard[bot] 614fcb0549
[COMPLIANCE] Update Copyright and License Headers (Batch 1 of 7) (#13765)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2025-12-22 16:38:56 +05:30

28 lines
781 B
Ruby

# Copyright IBM Corp. 2010, 2025
# SPDX-License-Identifier: BUSL-1.1
module VagrantPlugins
module CommandPlugin
module Action
# This middleware uninstalls a plugin by simply removing it from
# the state file. Running a {PruneGems} after should properly remove
# it from the gem index.
class UninstallPlugin
def initialize(app, env)
@app = app
end
def call(env)
# Remove it!
env[:ui].info(I18n.t("vagrant.commands.plugin.uninstalling",
name: env[:plugin_name]))
manager = Vagrant::Plugin::Manager.instance
manager.uninstall_plugin(env[:plugin_name], env_local: env[:env_local])
@app.call(env)
end
end
end
end
end