class Pod::Resolver

Attributes

dislike_pods[RW]
dislike_source_urls[RW]
prefer_pods[RW]
prefer_source_urls[RW]

Public Instance Methods

dislike_lock_specifications_filter(pod_name, specifications) click to toggle source
# File lib/cocoapods-prefer/hook/resolver.rb, line 65
def dislike_lock_specifications_filter(pod_name, specifications)
  lock_url = perfer_config.lock_url_for_dislike_pod(pod_name)

  unless lock_url.nil?
    filter = specifications.reject { |s|
      s.respond_to?('spec_source') && lock_url == s.spec_source.url
    }

    return filter unless filter.empty?
  end

  specifications
end
dislike_specifications_filter(pod_name, specifications) click to toggle source
# File lib/cocoapods-prefer/hook/resolver.rb, line 41
def dislike_specifications_filter(pod_name, specifications)
  if perfer_config.installed? && dislike_pods.include?(pod_name)
    filter = specifications.reject { |s|
      s.respond_to?('spec_source') && dislike_source_urls.include?(s.spec_source.url)
    }

    return filter unless filter.empty?
  end

  specifications
end
perfer_search_for(dependency)
Alias for: search_for
prefer_lock_specifications_filter(pod_name, specifications) click to toggle source
# File lib/cocoapods-prefer/hook/resolver.rb, line 53
def prefer_lock_specifications_filter(pod_name, specifications)
  lock_url = perfer_config.lock_url_for_prefer_pod(pod_name)
  unless lock_url.nil?
    filter = specifications.select { |s| 
      s.respond_to?('spec_source') && lock_url == s.spec_source.url
    }
    return filter unless filter.empty?
  end

  specifications
end
prefer_specifications_filter(pod_name, specifications) click to toggle source
# File lib/cocoapods-prefer/hook/resolver.rb, line 29
def prefer_specifications_filter(pod_name, specifications)
  if perfer_config.installed? && prefer_pods.include?(pod_name)
    filter = specifications.select { |s| 
      s.respond_to?('spec_source') && prefer_source_urls.include?(s.spec_source.url) 
    }

    return filter unless filter.empty?
  end

  specifications
end
search_for(dependency) click to toggle source

Specification return preferred source if meet requirement

# File lib/cocoapods-prefer/hook/resolver.rb, line 82
def search_for(dependency)
  # install_script_phases_for_dependency(dependency.root_name)
  specifications = perfer_search_for(dependency)

  pod_name = dependency.root_name
  specifications = dislike_lock_specifications_filter(pod_name, specifications)
  specifications = prefer_lock_specifications_filter(pod_name, specifications)

  specifications = dislike_specifications_filter(pod_name, specifications)
  specifications = prefer_specifications_filter(pod_name, specifications)
  specifications
end
Also aliased as: perfer_search_for