1
module Puppet::ModuleTool::Errors
3
class UninstallError < ModuleToolError; end
5
class NoVersionMatchesError < UninstallError
6
def initialize(options)
7
@module_name = options[:module_name]
8
@modules = options[:installed_modules]
9
@version = options[:version_range]
10
super "Could not uninstall '#{@module_name}'; no installed version matches"
15
message << "Could not uninstall module '#{@module_name}' (#{v(@version)})"
16
message << " No installed version of '#{@module_name}' matches (#{v(@version)})"
17
message += @modules.map do |mod|
18
" '#{mod[:name]}' (#{v(mod[:version])}) is installed in #{mod[:path]}"
24
class ModuleIsRequiredError < UninstallError
25
def initialize(options)
26
@module_name = options[:module_name]
27
@required_by = options[:required_by]
28
@requested_version = options[:requested_version]
29
@installed_version = options[:installed_version]
31
super "Could not uninstall '#{@module_name}'; installed modules still depend upon it"
36
message << ("Could not uninstall module '#{@module_name}'" << (@requested_version ? " (#{v(@requested_version)})" : ''))
37
message << " Other installed modules have dependencies on '#{@module_name}' (#{v(@installed_version)})"
38
message += @required_by.map do |mod|
39
" '#{mod['name']}' (#{v(mod['version'])}) requires '#{@module_name}' (#{v(mod['version_requirement'])})"
41
message << " Use `puppet module uninstall --force` to uninstall this module anyway"