class Pod::Command::Cache::List

Public Class Methods

new(argv) click to toggle source
Calls superclass method Pod::Command::Cache::new
# File lib/cocoapods/command/cache/list.rb, line 22
def initialize(argv)
  @pod_name = argv.shift_argument
  @short_output = argv.flag?('short')
  super
end
options() click to toggle source
Calls superclass method Pod::Command::options
# File lib/cocoapods/command/cache/list.rb, line 16
def self.options
  [[
    '--short', 'Only print the path relative to the cache root'
  ]].concat(super)
end

Public Instance Methods

run() click to toggle source
# File lib/cocoapods/command/cache/list.rb, line 28
def run
  UI.puts("$CACHE_ROOT: #{@cache.root}") if @short_output
  if @pod_name.nil? # Print all
    @cache.cache_descriptors_per_pod.each do |pod_name, cache_descriptors|
      print_pod_cache_infos(pod_name, cache_descriptors)
    end
  else # Print only for the requested pod
    cache_descriptors = @cache.cache_descriptors_per_pod[@pod_name]
    if cache_descriptors.nil?
      UI.notice("No cache for pod named #{@pod_name} found")
    else
      print_pod_cache_infos(@pod_name, cache_descriptors)
    end
  end
end

Private Instance Methods

print_pod_cache_infos(pod_name, cache_descriptors) click to toggle source

Prints the list of specs & pod cache dirs for a single pod name.

This output is valid YAML so it can be parsed with 3rd party tools

@param [Array<Hash>] cache_descriptors

The various infos about a pod cache. Keys are
:spec_file, :version, :release and :slug