Class: Gem::Resolver::ActivationRequest
- Inherits:
 - 
      Object
      
        
- Object
 - Gem::Resolver::ActivationRequest
 
 
- Defined in:
 - lib/rubygems/resolver/activation_request.rb
 
Overview
Specifies a Specification object that should be activated. Also contains a dependency that was used to introduce this activation.
Instance Attribute Summary collapse
- 
  
    
      #request  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The parent request for this activation request.
 - 
  
    
      #spec  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The specification to be activated.
 
Instance Method Summary collapse
- 
  
    
      #==(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 - 
  
    
      #development?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
Is this activation request for a development dependency?.
 - 
  
    
      #download(path)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Downloads a gem at
pathand returns the file path. - #eql?(other) ⇒ Boolean
 - 
  
    
      #full_name  ⇒ Object 
    
    
      (also: #to_s)
    
  
  
  
  
  
  
  
  
  
    
The full name of the specification to be activated.
 - 
  
    
      #full_spec  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The Gem::Specification for this activation request.
 - #hash ⇒ Object
 - 
  
    
      #initialize(spec, request)  ⇒ ActivationRequest 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Creates a new ActivationRequest that will activate
spec. - 
  
    
      #inspect  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 - 
  
    
      #installed?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    
True if the requested gem has already been installed.
 - 
  
    
      #name  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The name of this activation request's specification.
 - 
  
    
      #parent  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Return the ActivationRequest that contained the dependency that we were activated for.
 - 
  
    
      #platform  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The platform of this activation request's specification.
 - 
  
    
      #pretty_print(q)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 - 
  
    
      #version  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
The version of this activation request's specification.
 
Constructor Details
#initialize(spec, request) ⇒ ActivationRequest
Creates a new ActivationRequest that will activate spec.  The parent request is used to provide diagnostics in case of conflicts.
      21 22 23 24  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 21 def initialize(spec, request) @spec = spec @request = request end  | 
  
Instance Attribute Details
#request ⇒ Object (readonly)
The parent request for this activation request.
      10 11 12  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 10 def request @request end  | 
  
#spec ⇒ Object (readonly)
The specification to be activated.
      15 16 17  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 15 def spec @spec end  | 
  
Instance Method Details
#==(other) ⇒ Object
:nodoc:
      26 27 28 29 30 31 32 33 34 35  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 26 def ==(other) # :nodoc: case other when Gem::Specification @spec == other when Gem::Resolver::ActivationRequest @spec == other.spec else false end end  | 
  
#development? ⇒ Boolean
Is this activation request for a development dependency?
      48 49 50  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 48 def development? @request.development? end  | 
  
#download(path) ⇒ Object
Downloads a gem at path and returns the file path.
      55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 55 def download(path) Gem.ensure_gem_subdirectories path if @spec.respond_to? :sources exception = nil path = @spec.sources.find do |source| begin source.download full_spec, path rescue exception end end return path if path raise exception if exception elsif @spec.respond_to? :source source = @spec.source source.download full_spec, path else source = Gem.sources.first source.download full_spec, path end end  | 
  
#eql?(other) ⇒ Boolean
      37 38 39  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 37 def eql?(other) self == other end  | 
  
#full_name ⇒ Object Also known as: to_s
The full name of the specification to be activated.
      82 83 84  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 82 def full_name name_tuple.full_name end  | 
  
#full_spec ⇒ Object
The Gem::Specification for this activation request.
      91 92 93  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 91 def full_spec Gem::Specification === @spec ? @spec : @spec.spec end  | 
  
#hash ⇒ Object
      41 42 43  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 41 def hash @spec.hash end  | 
  
#inspect ⇒ Object
:nodoc:
      95 96 97 98 99  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 95 def inspect # :nodoc: "#<%s for %p from %s>" % [ self.class, @spec, @request ] end  | 
  
#installed? ⇒ Boolean
True if the requested gem has already been installed.
      104 105 106 107 108 109 110 111 112 113 114 115  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 104 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 ⇒ Object
The name of this activation request's specification
      120 121 122  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 120 def name @spec.name end  | 
  
#parent ⇒ Object
Return the ActivationRequest that contained the dependency that we were activated for.
      128 129 130  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 128 def parent @request.requester end  | 
  
#platform ⇒ Object
The platform of this activation request's specification
      153 154 155  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 153 def platform @spec.platform end  | 
  
#pretty_print(q) ⇒ Object
:nodoc:
      132 133 134 135 136 137 138 139 140 141  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 132 def pretty_print(q) # :nodoc: q.group 2, "[Activation request", "]" do q.breakable q.pp @spec q.breakable q.text " for " q.pp @request end end  | 
  
#version ⇒ Object
The version of this activation request's specification
      146 147 148  | 
    
      # File 'lib/rubygems/resolver/activation_request.rb', line 146 def version @spec.version end  |