class Gem::Commands::UnpackCommand

def get_path dependency

def get_path dependency
  return dependency.name if dependency.name =~ /\.gem$/i
  specs = dependency.matching_specs
  selected = specs.sort_by { |s| s.version }.last # HACK: hunt last down
  return Gem::RemoteFetcher.fetcher.download_to_cache(dependency) unless
    selected
  return unless dependency.name =~ /^#{selected.name}$/i
  # We expect to find (basename).gem in the 'cache' directory.  Furthermore,
  # the name match must be exact (ignoring case).
  path = find_in_cache File.basename selected.cache_file
  return Gem::RemoteFetcher.fetcher.download_to_cache(dependency) unless path
  path
end