Exception: Gem::UnsatisfiableDependencyError

Inherits:
DependencyError show all
Defined in:
lib/rubygems/exceptions.rb

Overview

Raised by Resolver when a dependency requests a gem for which there is no spec.

Instance Attribute Summary collapse

Attributes inherited from Exception

#source_exception

Instance Method Summary collapse

Methods included from Deprecate

deprecate, skip, skip=, skip_during

Constructor Details

#initialize(dep, platform_mismatch = nil) ⇒ UnsatisfiableDependencyError

Creates a new UnsatisfiableDependencyError for the unsatisfiable Gem::Resolver::DependencyRequest dep



257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/rubygems/exceptions.rb', line 257

def initialize(dep, platform_mismatch=nil)
  if platform_mismatch and !platform_mismatch.empty?
    plats = platform_mismatch.map { |x| x.platform.to_s }.sort.uniq
    super "Unable to resolve dependency: No match for '#{dep}' on this platform. Found: #{plats.join(', ')}"
  else
    if dep.explicit?
      super "Unable to resolve dependency: user requested '#{dep}'"
    else
      super "Unable to resolve dependency: '#{dep.request_context}' requires '#{dep}'"
    end
  end

  @dependency = dep
  @errors     = []
end

Instance Attribute Details

#dependencyObject (readonly)

The unsatisfiable dependency. This is a Gem::Resolver::DependencyRequest, not a Gem::Dependency



246
247
248
# File 'lib/rubygems/exceptions.rb', line 246

def dependency
  @dependency
end

#errorsObject

Errors encountered which may have contributed to this exception



251
252
253
# File 'lib/rubygems/exceptions.rb', line 251

def errors
  @errors
end

Instance Method Details

#nameObject

The name of the unresolved dependency



276
277
278
# File 'lib/rubygems/exceptions.rb', line 276

def name
  @dependency.name
end

#versionObject

The Requirement of the unresolved dependency (not Version).



283
284
285
# File 'lib/rubygems/exceptions.rb', line 283

def version
  @dependency.requirement
end