class Gem::Resolver::ActivationRequest
Specifies a Specification object that should be activated. Also contains a dependency that was used to introduce this activation.
Attributes
The parent request for this activation request.
The specification to be activated.
Public Class Methods
Creates a new ActivationRequest that
will activate spec
. The parent request
is used
to provide diagnostics in case of conflicts.
others_possible
indicates that other specifications may also
match this activation request.
# File lib/rubygems/resolver/activation_request.rb, line 24 def initialize spec, request, others_possible = true @spec = spec @request = request @others_possible = others_possible end
Public Instance Methods
Downloads a gem at path
and returns the file path.
# File lib/rubygems/resolver/activation_request.rb, line 44 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
The full name of the specification to be activated.
# File lib/rubygems/resolver/activation_request.rb, line 59 def full_name @spec.full_name end
The Gem::Specification for this activation request.
# File lib/rubygems/resolver/activation_request.rb, line 66 def full_spec Gem::Specification === @spec ? @spec : @spec.spec end
True if the requested gem has already been installed.
# File lib/rubygems/resolver/activation_request.rb, line 92 def installed? case @spec when Gem::Resolver::VendorSpecification then true else this_spec = full_spec Gem::Specification.any? do |s| s == this_spec end end end
The name of this activation request's specification
# File lib/rubygems/resolver/activation_request.rb, line 108 def name @spec.name end
Indicate if this activation is one of a set of possible requests for the same Dependency request.
# File lib/rubygems/resolver/activation_request.rb, line 116 def others_possible? case @others_possible when true, false then @others_possible else not @others_possible.empty? end end
Return the ActivationRequest that contained the dependency that we were activated for.
# File lib/rubygems/resolver/activation_request.rb, line 129 def parent @request.requester end
The version of this activation request's specification
# File lib/rubygems/resolver/activation_request.rb, line 160 def version @spec.version end