Exception: Gem::ImpossibleDependenciesError

Inherits:
Exception
  • Object
show all
Defined in:
lib/rubygems/exceptions.rb

Overview

Raised by Gem::Resolver when dependencies conflict and create the inability to find a valid possible spec for a request.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, conflicts) ⇒ ImpossibleDependenciesError

Returns a new instance of ImpossibleDependenciesError.



147
148
149
150
151
152
# File 'lib/rubygems/exceptions.rb', line 147

def initialize(request, conflicts)
  @request   = request
  @conflicts = conflicts

  super build_message
end

Instance Attribute Details

#conflictsObject (readonly)

Returns the value of attribute conflicts.



144
145
146
# File 'lib/rubygems/exceptions.rb', line 144

def conflicts
  @conflicts
end

#requestObject (readonly)

Returns the value of attribute request.



145
146
147
# File 'lib/rubygems/exceptions.rb', line 145

def request
  @request
end

Instance Method Details

#build_messageObject

:nodoc:



154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/rubygems/exceptions.rb', line 154

def build_message # :nodoc:
  requester  = @request.requester
  requester  = requester ? requester.spec.full_name : "The user"
  dependency = @request.dependency

  message = "#{requester} requires #{dependency} but it conflicted:\n".dup

  @conflicts.each do |_, conflict|
    message << conflict.explanation
  end

  message
end

#dependencyObject



168
169
170
# File 'lib/rubygems/exceptions.rb', line 168

def dependency
  @request.dependency
end