Exception: Puppet::ModuleTool::Errors::NoVersionsSatisfyError

Inherits:
ModuleToolError show all
Defined in:
lib/vendor/puppet/module_tool/errors/shared.rb

Instance Method Summary collapse

Methods inherited from ModuleToolError

#v, #vstring

Constructor Details

#initialize(options) ⇒ NoVersionsSatisfyError

Returns a new instance of NoVersionsSatisfyError.



4
5
6
7
8
9
10
11
12
13
# File 'lib/vendor/puppet/module_tool/errors/shared.rb', line 4

def initialize(options)
  @requested_name    = options[:requested_name]
  @requested_version = options[:requested_version]
  @installed_version = options[:installed_version]
  @dependency_name   = options[:dependency_name]
  @conditions        = options[:conditions]
  @action            = options[:action]

  super "Could not #{@action} '#{@requested_name}' (#{vstring}); module '#{@dependency_name}' cannot satisfy dependencies"
end

Instance Method Details

#multilineObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/vendor/puppet/module_tool/errors/shared.rb', line 15

def multiline
  same_mod = @requested_name == @dependency_name

  message = []
  message << "Could not #{@action} module '#{@requested_name}' (#{vstring})"
  message << "  No version of '#{@dependency_name}' will satisfy dependencies"
  message << "    You specified '#{@requested_name}' (#{v(@requested_version)})" if same_mod
  message += @conditions.select { |c| c[:module] != :you }.sort_by { |c| c[:module] }.map do |c|
    "    '#{c[:module]}' (#{v(c[:version])}) requires '#{@dependency_name}' (#{v(c[:dependency])})"
  end
  message << "    Use `puppet module #{@action} --force` to #{@action} this module anyway" if same_mod
  message << "    Use `puppet module #{@action} --ignore-dependencies` to #{@action} only this module" unless same_mod

  message.join("\n")
end