class Puppet::ModuleTool::Errors::InstallConflictError

Public Class Methods

new(options) click to toggle source
Calls superclass method Puppet::Error.new
# File lib/puppet/module_tool/errors/installer.rb, line 26
def initialize(options)
  @requested_module  = options[:requested_module]
  @requested_version = v(options[:requested_version])
  @dependency        = options[:dependency]
  @directory         = options[:directory]
  @metadata          = options[:metadata]
  super "'#{@requested_module}' (#{@requested_version}) requested; Installation conflict"
end

Public Instance Methods

multiline() click to toggle source
# File lib/puppet/module_tool/errors/installer.rb, line 35
def multiline
  message = []
  message << "Could not install module '#{@requested_module}' (#{@requested_version})"

  if @dependency
    message << "  Dependency '#{@dependency[:name]}' (#{v(@dependency[:version])}) would overwrite #{@directory}"
  else
    message << "  Installation would overwrite #{@directory}"
  end

  if @metadata
    message << "    Currently, '#{@metadata[:name]}' (#{v(@metadata[:version])}) is installed to that directory"
  end

  message << "    Use `puppet module install --dir <DIR>` to install modules elsewhere"

  if @dependency
    message << "    Use `puppet module install --ignore-dependencies` to install only this module"
  else
    message << "    Use `puppet module install --force` to install this module anyway"
  end

  message.join("\n")
end