In Files

  • rubygems/resolver/activation_request.rb

Class/Module Index [+]

Quicksearch

Gem::Resolver::ActivationRequest

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

Attributes

request[R]

The parent request for this activation request.

spec[R]

The specification to be activated.

Public Class Methods

new(spec, request, others_possible = true) click to toggle source

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 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

download(path) click to toggle source

Downloads a gem at path and returns the file path.

 
               # File 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
            
full_name() click to toggle source

The full name of the specification to be activated.

 
               # File rubygems/resolver/activation_request.rb, line 59
def full_name
  @spec.full_name
end
            
full_spec() click to toggle source

The Gem::Specification for this activation request.

 
               # File rubygems/resolver/activation_request.rb, line 66
def full_spec
  Gem::Specification === @spec ? @spec : @spec.spec
end
            
installed?() click to toggle source

True if the requested gem has already been installed.

 
               # File 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
            
name() click to toggle source

The name of this activation request’s specification

 
               # File rubygems/resolver/activation_request.rb, line 108
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 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
            
parent() click to toggle source

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

 
               # File rubygems/resolver/activation_request.rb, line 129
def parent
  @request.requester
end
            
version() click to toggle source

The version of this activation request’s specification

 
               # File rubygems/resolver/activation_request.rb, line 160
def version
  @spec.version
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus