class Gem::DependencyResolver::ActivationRequest

Specifies a Specification object that should be activated. Also contains a dependency that was used to introduce this activation.

Attributes

request[R]
spec[R]

Public Class Methods

new(spec, req, others_possible=true) click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 364
def initialize(spec, req, others_possible=true)
  @spec = spec
  @request = req
  @others_possible = others_possible
end

Public Instance Methods

==(other) click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 414
def ==(other)
  case other
  when Gem::Specification
    @spec == other
  when ActivationRequest
    @spec == other.spec && @request == other.request
  else
    false
  end
end
download(path) click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 402
def download(path)
  if @spec.respond_to? :source
    source = @spec.source
  else
    source = Gem.sources.first
  end

  Gem.ensure_gem_subdirectories path

  source.download full_spec, path
end
full_name() click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 390
def full_name
  @spec.full_name
end
full_spec() click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 398
def full_spec
  Gem::Specification === @spec ? @spec : @spec.spec
end
installed?() click to toggle source

Indicates if the requested gem has already been installed.

# File lib/rubygems/dependency_resolver.rb, line 428
def installed?
  this_spec = full_spec

  Gem::Specification.any? do |s|
    s == this_spec
  end
end
name() click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 386
def name
  @spec.name
end
others_possible?() click to toggle source

Indicate if this activation is one of a set of possible requests for the same Dependency request.

# File lib/rubygems/dependency_resolver.rb, line 375
def others_possible?
  @others_possible
end
parent() click to toggle source

Return the ActivationRequest that contained the dependency that we were activated for.

# File lib/rubygems/dependency_resolver.rb, line 382
def parent
  @request.requester
end
version() click to toggle source
# File lib/rubygems/dependency_resolver.rb, line 394
def version
  @spec.version
end