Method: Pod::Dependency#initialize
- Defined in:
- lib/cocoapods-core/dependency.rb
#initialize(name, requirements) ⇒ Dependency #initialize(name, external_source) ⇒ Dependency #initialize(name, requirements, podspec_repo) ⇒ Dependency
Returns a new instance of Dependency.
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/cocoapods-core/dependency.rb', line 72 def initialize(name = nil, *requirements) if requirements.last.is_a?(Hash) additional_params = requirements.pop.select { |_, v| !v.nil? } additional_params = nil if additional_params.empty? if additional_params && @podspec_repo = additional_params[:source] # This dependency specifies the exact source podspec repo to use. additional_params.delete(:source) unless additional_params.empty? raise Informative, 'A dependency with a specified podspec repo may ' \ "not include other source parameters (#{name})." end elsif @external_source = additional_params unless requirements.empty? raise Informative, 'A dependency with an external source may not ' \ "specify version requirements (#{name})." end end elsif requirements.last == :head raise Informative, '`:head` dependencies have been removed. Please use ' \ "normal external source dependencies (`:git => 'GIT_REPO_URL'`) " \ "instead of `:head` for `#{name}`." end if requirements.length == 1 && requirements.first.is_a?(Requirement) requirements = requirements.first end @name = name @requirement = Requirement.create(requirements) @specific_requirement ||= nil @external_source ||= nil end |