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 |