File: //proc/self/root/usr/lib/ruby/site_ruby/1.8/puppet/module_tool/errors/uninstaller.rb
module Puppet::ModuleTool::Errors
class UninstallError < ModuleToolError; end
class NoVersionMatchesError < UninstallError
def initialize(options)
@module_name = options[:module_name]
@modules = options[:installed_modules]
@version = options[:version_range]
super "Could not uninstall '#{@module_name}'; no installed version matches"
end
def multiline
message = []
message << "Could not uninstall module '#{@module_name}' (#{v(@version)})"
message << " No installed version of '#{@module_name}' matches (#{v(@version)})"
message += @modules.map do |mod|
" '#{mod[:name]}' (#{v(mod[:version])}) is installed in #{mod[:path]}"
end
message.join("\n")
end
end
class ModuleIsRequiredError < UninstallError
def initialize(options)
@module_name = options[:module_name]
@required_by = options[:required_by]
@requested_version = options[:requested_version]
@installed_version = options[:installed_version]
super "Could not uninstall '#{@module_name}'; installed modules still depend upon it"
end
def multiline
message = []
message << ("Could not uninstall module '#{@module_name}'" << (@requested_version ? " (#{v(@requested_version)})" : ''))
message << " Other installed modules have dependencies on '#{@module_name}' (#{v(@installed_version)})"
message += @required_by.map do |mod|
" '#{mod['name']}' (#{v(mod['version'])}) requires '#{@module_name}' (#{v(mod['version_requirement'])})"
end
message << " Use `puppet module uninstall --force` to uninstall this module anyway"
message.join("\n")
end
end
end