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

Attributes inherited from Exception

#source_exception

Instance Method Summary collapse

Constructor Details

#initialize(request, conflicts) ⇒ ImpossibleDependenciesError

Returns a new instance of ImpossibleDependenciesError.



128
129
130
131
132
133
# File 'lib/rubygems/exceptions.rb', line 128

def initialize request, conflicts
  @request   = request
  @conflicts = conflicts

  super build_message
end

Instance Attribute Details

#conflictsObject (readonly)

Returns the value of attribute conflicts



125
126
127
# File 'lib/rubygems/exceptions.rb', line 125

def conflicts
  @conflicts
end

#requestObject (readonly)

Returns the value of attribute request



126
127
128
# File 'lib/rubygems/exceptions.rb', line 126

def request
  @request
end

Instance Method Details

#build_messageObject

:nodoc:



135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/rubygems/exceptions.rb', line 135

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"

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

  message
end

#dependencyObject



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

def dependency
  @request.dependency
end