Class: Pod::Installer::PodSourceDownloader
- Inherits:
 - 
      Object
      
        
- Object
 - Pod::Installer::PodSourceDownloader
 
 
- Defined in:
 - lib/cocoapods/installer/pod_source_downloader.rb
 
Overview
This class needs to consider all the activated specs of a Pod.
Controller class responsible for downloading the activated specifications of a single Pod.
Constant Summary collapse
- UNENCRYPTED_PROTOCOLS =
 %w(http git).freeze
Instance Attribute Summary collapse
- 
  
    
      #can_cache  ⇒ Boolean 
    
    
      (also: #can_cache?)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Whether the installer is allowed to touch the cache.
 - 
  
    
      #podfile  ⇒ Podfile 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The podfile that should be integrated with the user projects.
 - 
  
    
      #sandbox  ⇒ Sandbox 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The installation target.
 - 
  
    
      #specs_by_platform  ⇒ Hash{Symbol=>Array} 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
The specifications that need to be installed grouped by platform.
 
Downloading collapse
- 
  
    
      #download!  ⇒ void 
    
    
  
  
  
  
  
  
  
  
  
    
Creates the target in the Pods project and the relative support files.
 
Instance Method Summary collapse
- 
  
    
      #initialize(sandbox, podfile, specs_by_platform, can_cache: true)  ⇒ PodSourceDownloader 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Initialize a new instance.
 - 
  
    
      #inspect  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
A string suitable for debugging.
 - 
  
    
      #name  ⇒ String 
    
    
  
  
  
  
  
  
  
  
  
    
The name of the pod this downloader is downloading.
 
Constructor Details
#initialize(sandbox, podfile, specs_by_platform, can_cache: true) ⇒ PodSourceDownloader
Initialize a new instance
      38 39 40 41 42 43  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 38 def initialize(sandbox, podfile, specs_by_platform, can_cache: true) @sandbox = sandbox @podfile = podfile @specs_by_platform = specs_by_platform @can_cache = can_cache end  | 
  
Instance Attribute Details
#can_cache ⇒ Boolean (readonly) Also known as: can_cache?
Returns Whether the installer is allowed to touch the cache.
      28 29 30  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 28 def can_cache @can_cache end  | 
  
#podfile ⇒ Podfile (readonly)
Returns the podfile that should be integrated with the user projects.
      19 20 21  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 19 def podfile @podfile end  | 
  
#sandbox ⇒ Sandbox (readonly)
Returns The installation target.
      14 15 16  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 14 def sandbox @sandbox end  | 
  
#specs_by_platform ⇒ Hash{Symbol=>Array} (readonly)
Returns The specifications that need to be installed grouped by platform.
      24 25 26  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 24 def specs_by_platform @specs_by_platform end  | 
  
Instance Method Details
#download! ⇒ void
This method returns an undefined value.
Creates the target in the Pods project and the relative support files.
      67 68 69 70 71 72 73 74 75 76  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 67 def download! verify_source_is_secure(root_spec) download_result = Downloader.download(download_request, root, :can_cache => can_cache?) if (specific_source = download_result.) && specific_source != root_spec.source sandbox.store_checkout_source(root_spec.name, specific_source) end sandbox.store_downloaded_pod(root_spec.name) end  | 
  
#inspect ⇒ String
Returns A string suitable for debugging.
      47 48 49  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 47 def inspect "<#{self.class} sandbox=#{sandbox.root} pod=#{root_spec.name}" end  | 
  
#name ⇒ String
Returns The name of the pod this downloader is downloading.
      53 54 55  | 
    
      # File 'lib/cocoapods/installer/pod_source_downloader.rb', line 53 def name root_spec.name end  |