Class: Pod::ExternalSources::PodspecSource
- Inherits:
-
AbstractExternalSource
- Object
- AbstractExternalSource
- Pod::ExternalSources::PodspecSource
- Defined in:
- lib/cocoapods/external_sources/podspec_source.rb
Overview
Provides support for fetching a specification file from an URL. Can be http, file, etc.
Instance Attribute Summary
Attributes inherited from AbstractExternalSource
#can_cache, #name, #params, #podfile_path
Instance Method Summary collapse
Methods inherited from AbstractExternalSource
Constructor Details
This class inherits a constructor from Pod::ExternalSources::AbstractExternalSource
Instance Method Details
#description ⇒ Object
30 31 32 |
# File 'lib/cocoapods/external_sources/podspec_source.rb', line 30 def description "from `#{params[:podspec]}`" end |
#fetch(sandbox) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/cocoapods/external_sources/podspec_source.rb', line 9 def fetch(sandbox) title = "Fetching podspec for `#{name}` #{description}" UI.titled_section(title, :verbose_prefix => '-> ') do podspec_path = Pathname(podspec_uri) is_json = podspec_path.extname == '.json' if podspec_path.exist? store_podspec(sandbox, podspec_path, is_json) else require 'cocoapods/open-uri' begin OpenURI.open_uri(podspec_uri) { |io| store_podspec(sandbox, io.read, is_json) } rescue OpenURI::HTTPError => e status = e.io.status.join(' ') raise Informative, "Failed to fetch podspec for `#{name}` at `#{podspec_uri}`.\n Error: #{status}" end end end end |